Base.

技術に関する備忘録。

venvで構築した仮想環境内にインストールしたパッケージがvscodeで認識されない問題の解決

記事の目的

標題の症状に対する解決策のメモ

症状

標題の通り。venvで仮想環境を構築し、仮想環境内でインストールしたパッケージをvscode内で使用しようとしたがModuleNotFoundErrorが発生してしまった。vscodeインタープリターは仮想環境にあるPythonを指定している。

結論

vscodeがインストールしたパッケージを探しに行けるように設定する。
参考サイト

Visual Studio Codeでライブラリやモジュールが could not be resolved になる時の対処法 | Start Lab | Python特化の公式認定スクール

状況

  1. venvで仮想環境を構築
  2. 仮想環境を有効化し、仮想環境内で必要なパッケージをインストール
  3. vscodeインタープリターを選択し、仮想環境のPythonへのパスを指定
  4. 2.でインストールしたパッケージをインポートするコードを作成したところ、"ModuleNotFoundError"が発生→問題発生

原因と対策

vscodeがインストールしたパッケージへのパスを見つけられていないことが原因。vscodeの設定にパッケージへのパスを追加することで解決する。 以下に手順を示す。
1. Powershell(PS)やコマンドプロント(CMD)でパッケージのパスを確認する。 PS、CMDでパスを確認し、ルートから「site-packages」までのパスをコピーしておく。

パッケージのパスの確認
2. vscodeに上記パスを登録する。
「ファイル」→「ユーザー設定」→「設定」から設定画面を開く。
vscodeで設定を開く

設定画面の「設定の検索」欄に「extra path」と入力する。

vscodeの設定画面

「Extra Paths」の「項目の追加」に先ほどコピーしたパスを貼り付け、「OK」を押す。

パスの追加

以上でパッケージへのパスがvscodeに認識されるようになる。