kt.log

Fix module name resolving problem when importing Python modules on Visual Studio Code with Jupyter Docker Container

Jupyter の Docker コンテナ jupyter/datascience-notebook を動作させ、 Visual Studio Code から利用する際に、 IDE 上の Problem が発生するケースがあります。本記事ではこの問題の解決方法を解説します。

問題

Python の import 文を記述すると、黄色の波線の表示が出ます。

例えば pandas の部分にマウスカーソルを合わせると Import "pandas" could not be resolved from source Pylance といった内容が表示されます。ここでは pandas は既にインストールされていることもあり、コードの記述および実行において問題はありません。しかし、これではライブラリが本当に存在しないケースと見分けがつきませんし、そもそも問題の放置は別の問題を見過ごすことにもつながるため、対処したいと思います。

手順

ターミナルを開く

例えば import pandas で上記エラーが出ている場合、 pip show pandas を実行します。その標準出力からライブラリの Location を取得します。

.vscode/settings.json を開く

settings.json に追記する

取得したパスをもとに、 python.analysis.extraPaths を追記します。

1
2
3
"python.analysis.extraPaths": [
"/opt/conda/lib/python3.9/site-packages"
]

問題が解消する

まとめ

Jupyter の Docker コンテナ jupyter/datascience-notebook を動作させ、 Visual Studio Code から利用する際に、 IDE 上の Problem が発生するケースに対して、解決方法を解説しました。
些細な問題ですが、Visual Studio Code で同様のプロジェクトを作成する度に対処が必要となるので、やり方を覚えておくと有益でしょう。

See also