Anacondaの仮想環境で、(MySQL接続、テーブルデータ取得・表示する)Djangoサイトを作成し、(特に(migrate、makemigration、runserver実行時に)エラーメッセージも無くサイト表示は出来たのですが、肝心のMySQLテーブルデータが表示されていませんでした。
※一応、conda仮想環境内プロンプトから(該当仮想環境有効化後)Pythonシェル上で、テーブルデータ取得を試しましたが0件表示となりました。
それで、(Djangoの)ソースを見直すと、VS CodeがDjangoモジュール(django.contrib)を見つけられない、というエラーメッセージを見つけました。(下図)
想定される原因:
(1) Pythonの仮想環境が正しく設定されていない。
(2) VS CodeのPython拡張機能が正しく動作していない。
(3) PYTHONPATHが正しく設定されていない。
ここでは上記(3)の可能性を疑い、VS Codeの設定ファイル(Djangoプロジェクト直下の「.vscode/settings.json」)に、Pythonインタープリタのパス設定を追加しました。
以下、手順記録になります。
1.(Anacondaの仮想環境の)Pythonインタープリタ絶対パスの確認
(1)(conda仮想環境プロンプトで)該当仮想環境有効化
(2)Pythonインタープリタ絶対パス確認
which python
2.VS Code 設定追加
(1)VS Codeでプロジェクトフォルダに移動
ターミナル、またはエクスプローラーからDjangoプロジェクトのフォルダを開きます。
(3).vscode
フォルダの確認
プロジェクトのルートディレクトリに .vscode
という名前のフォルダが存在するか確認してください。もしこのフォルダが存在しない場合は、新しく作成します。
(4)settings.json
ファイルの作成
.vscode
フォルダの中に settings.json
という名前のファイルが存在するか確認します。
※存在しない場合は新しく作成します。
(5)settings.json
ファイルの編集
※settings.json
ファイルに以下の設定を追加
{
“python.pythonPath”: “<上記1手順で確認したconda仮想環境中のPython絶対パス>“
}
(6)保存・再起動
上記設定保存後、VS Codeを再起動
上記手順結果: ワーニングは消えなかった。
※∴以下の手順を試しました。
3.Pythonインタープリタ指定
(1)コマンドパレット表示
VS Code で、Ctrl + Shift + P を押下し、コマンドパレットを開く。
(2)インタープリタ選択
① (上記コマンドパレットで)「Python: select interpreter」と入力する。
※「Python: Select Interpreter」を選択する。
② ここでは、Python 3.11.5 (‘env02’) /opt/conda/env/env02/bin/python を選択する。
上記手順結果: ワーニングは消えた。
※しかし、Djangoサイトへのデータ表示はできなかった。
Python shellでのデータ取得も、0件と再度応答された。
この0件表示の原因は、また別件として別記事掲載予定です。