VSCodeでPythonを使っているときに、「unresolved import」エラーが出ることがあります。この記事では、そのエラーの対処法をご紹介します。
状況
あるプロジェクトで、以下のようなディレクトリ構造を持っているとします。
testPrj
├── bin
├── include
├── lib
├── pyvenv.cfg
└── src
├── modules
│ └── somemodule.py
└── main.py
main.py
からsomemodule.py
をインポートする場合、以下のように書きます。
from modules import somemodule
しかし、このコードを書くと、「modules」の部分に対して unresolved import 'modules'Python(unresolved-import)
というエラーが表示されます。しかし、このままmain.py
を実行すると、somemodule
を正常に読み込んだ上で実行も正常に完了します。
解決法
この問題の解決法は以下の3つのステップです。
- VSCodeのワークスペース直下に
.env
を追加 .env
内にPYTHONPATH
として「src」を指定- VSCodeの
settings.json
に.env
のパスを指定
具体的には、.env
の中身は以下のようになります。
PYTHONPATH=src
そして、settings.json
への追加は以下のようになります。
{
"python.envFile": "${workspaceFolder}/.env"
}
これで、「unresolved import」エラーが解消されるはずです。
まとめ
VSCodeでPythonを使っているときに、「unresolved import」エラーが出ることがありますが、上記の手順で解決できます。これにより、Pythonのコーディングがよりスムーズになります。