起きていること
VSCodeで拡張機能Pylanceを導入すると使用するパッケージの格納箇所によってはimport文で次のメッセージが表示されることがある。
インポート "XXX" をソースから解決できませんでした(PylancereportMissingModuleSource)
このメッセージは実行可能であっても表示されることがある。
今まで特に実行に影響ないためそのままだったがソースを開いていつも波線が出ているのは気持ちが悪いので対応しようと思う。
対応時の環境
Python 3.11.4
VSCode 1.80.2
Pylance v2023.7.40
対応内容
今回仮想環境を導入していてフォルダ構成は次のようになっている。
関係のないディレクトリ、ファイルは省略している。
.
├── .vscode
│ └── settings.json
├── venv
│ └── Lib
│ └── site-packages
│ └── pandas
└── example.py
example.pyには次のようなimport文がある。
import pandas as pd
import文には波線が出ておりカーソルを合わせると次のように表示される。
./.vscode/settings.jsonに次の設定を加えることで解決する。
{
"python.analysis.extraPaths": ["./venv/Lib/site-packages"]
}
まとめ
Pylanceのトラブルシューティングによるとユーザーが使用しているワークスペースディレクトリやsrc
といった一般的な名前のディレクトリの場合は自動取得されるため明示的にsettings.jsonに書かなくても問題ない模様。
そうではない今回のように自動取得の対象とならないような階層の場合設定が必要となるようだ。
参考