LoginSignup
4
1

VSCodeでライブラリやモジュールがcould not be resolved(黄色波線)になったら

Last updated at Posted at 2022-05-10

始めに

少し前まではAnacondaで仮想環境を作ったり,Jupyter Notebookでコーディングしたりという感じだったのですが,その後,友人にVSCodeを勧められました.使い始めは一瞬だけ戸惑いましたが,すぐに慣れることができ,さらにとても便利で,すんなり乗り換えることができました(友人には感謝).

暫く使っていると,タイトルのような状況に出くわすことがあります.何度か調べたり読んだりして,仕組みと解決法はぼんやり理解したのですが,同じメッセージが出る度に調べるのも...と感じたので備忘録として残します.

以下は,こちらの記事を参考に,同記事に則した内容です.

状況は?

開発中,

import [library_name]

などとして,ライブラリやパッケージ,あるいはモジュールなどをimportしますよね.すると,[library_name]に黄色の波線が引かれます(下図,見にくいですがhello.pyが当該ファイルです).

68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f323532393631322f32373962346337332d666664362d363861312d306661312d6431343663323062316236302e706e.png

何言うてんのかなーって感じでカーソルを合わせて見てみると,could not be resolvedとのこと(下図).

68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f323532393631322f32633630303730322d353563342d613838622d396237362d6264356539643638386663302e706e.png

しかしながら,このコード自体はエラーなく実行できます.したがって,Pythonがflaskにアクセスするのは問題なくできているけど,VSCodeがflaskを見つけるのに失敗している状態です.VSCodeからflaskへのアクセスができれば(そのように設定を追加すれば),これは回避でき,AutoCompleteなどもシームレスに利用可能になります.

対処法は?

上記の通り,VSCodeの設定を少し書き換えてあげましょう.インストールしたflaskの場所を確認します(下図).

したがって,flaskは,

D:\DEGUCHI\00_src_python\99_notes\00_web\01_flask\.venv_flask\lib\site-packages\

の中にあるんですね.このパスを,VSCodeに追加します.設定からExtra Pathsを探し,Add Item欄に上記のディレクトリパスを追加しましょう(下図).

そして元のファイル(hello.py)に帰ってくると...!

68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f323532393631322f65303639323939662d646163362d376261342d303961382d3838373731343561386330382e706e.png

波線もメッセージも消えていますね!flaskにカーソルを合わせてみるとmoduleであることを認識してくれています.

終わりに

要約すると,Pythonからは見つけているから実行してもエラーにはならないけど,VSCode側からは見つけきれていないよってことでした.

そのまま開発しても実行自体に問題は無いのですが,AutoComplete機能とかも使えないし,コード内にバグが発生したときに混乱の元になりそうですよね.何より僕は性格上とても気になりますので回避したいです.Anacondaを使っていた時には遭遇しなかったので,VSCodeで初めましてのメッセージでした.

参考文献

[1] 参考にさせていただいた記事

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1