エンジニアライフスタイルブログを運営しているミウラ(@miumiu06171)です。
普段はフリーランスでシステムエンジニアをしております。
今回は、VSCode上でPython仮想環境を有効にしているときに、仮想環境にインストールしたはずの外部ライブラリが認識されない問題の対策方法を紹介します。
動作確認には、Visual Studio Code (VS Code) を使用しているため、同様に確認したい方は、こちらの記事でVS CodeのPython開発環境を構築してみてください。
VSCode上でPython仮想環境のライブラリを認識させる方法
問題点
VSCode上でPython仮想環境を有効にしているときに、仮想環境にインストールしたはずの外部ライブラリが認識されない。
Python仮想環境にpandasをインストールしているにも関わらず、上記のようにpandasの部分に黄色の下波線が入っていて、VSCodeがPython仮想環境にインストールしたpandasを認識しない場合があります。
前提条件
本記事の例では、デスクトップ上に「test」フォルダを用意し、「test」フォルダ配下で「venv」という名前のPython仮想環境を作成しています。
1 2 3 |
PS 【パス名】> python -m venv venv PS 【パス名】> venv\Scripts\activate (venv) PS 【パス名】> |
なお、外部ライブラリが認識するかどうかためすため、仮想環境「venv」には、以下のpipコマンドでpandasをインストール済みの状態とします。
1 |
(venv) PS 【パス名】> pip install pandas |
解決策
以下の手順でVSCodeにPython仮想環境の外部ライブラリのパスを設定すると、外部ライブラリを認識するようになります。
VSCodeに外部ライブラリのパスを設定するには、下図のようにVSCodeの左下のアイコンをクリック後、「設定」をクリックします。
「設定」ウィンドウが開くので、下図の赤枠のファイルアイコンをクリックします。
すると、下図のようにVSCode用設定ファイル(settings.json)が開くので、ここにPythonの外部ライブラリのパスを設定します。
下記の6~9行目のように”python.analysis.extraPaths”キーに対して、Python仮想環境「venv」のライブラリが格納された「/venv/Lib/site-packages」を設定します。
1 2 3 4 5 6 7 8 9 10 |
{ "editor.fontSize": 18, "terminal.integrated.fontSize": 16, "window.zoomLevel": 1, "editor.formatOnSave": true, "explorer.confirmDelete": false, "python.analysis.extraPaths": [ "/Users/GEMINI/Desktop/test/venv/Lib/site-packages" ] } |
上記の例では、デスクトップにtestフォルダを用意したときの例になるため、あなたの環境に合わせてパスは修正する必要があります。
settings.jsonの最後に設定を追加しているため、6行目の最後に ,(カンマ)をつけた後、設定を追加していることを忘れないようにしてください。
なお、VSCodeプロジェクトを変更するたびに外部ライブラリのパスを変更するのが面倒な方は、次のように設定することをおすすめします。
1 2 3 4 5 6 7 8 9 10 |
{ "editor.fontSize": 18, "terminal.integrated.fontSize": 16, "window.zoomLevel": 1, "editor.formatOnSave": true, "explorer.confirmDelete": false, "python.analysis.extraPaths": [ "${workspaceFolder}/venv/Lib/site-packages" ] } |
VSCodeがあらかじめもっているプレースホルダー ${workspaceFolder} を使うことで、ワークスペースの直下に毎回「venv」という名前のPython仮想環境を作るというルールとしておけば、毎回settings.jsonを編集する必要がなくなります。
プレースホルダー${workspaceFolder}は、今開いているワークスペースのパスを示す特別なキーワードです。
その他のVSCodeのプレースホルダーについては、こちらを参照ください。
動作確認
settings.jsonに仮想環境の外部ライブラリのパスを設定できたところで、動作確認をしてみましょう。
最初見ていたmain.pyでpandasをインポートしている箇所に黄色の下波線がなくなり、pandasを認識していることがわかると思います。
もし黄色の下波線が解消されない場合は、VSCodeを再起動し、再度venv仮想環境を有効にしてみてください。
まとめ
いかがでしたでしょうか。
VSCode上でPython仮想環境を有効にしているときに、仮想環境にインストールしたはずの外部ライブラリが認識されない問題の解決方法を紹介してきました。
外部ライブラリが認識されないと、VSCode上でコーディング中にキーワードの補完機能も働かないため、コーディングの作業効率に大きく影響します。
そのため、効率的にコーディングを行うためにも、本記事で対策方法をおさえておくとよいでしょう。
【関連記事】
【Python入門】venv仮想環境の使い方を習得してVS Codeでの開発をスムーズに!
【Python Django入門】使い方からWebアプリ作成までの流れ