pyてよn日記

一寸先は闇が人生

Python:VSCode で pipenv 仮想環境にインストールしたライブラリの補完を効かせる

 現在,VSCode を用いて Python のコーディングを行なっている.環境は pipenv で構築した仮想環境を利用しているが,その環境にインストールした Python ライブラリの補完が VSCode で効かなかったため,それを効かすように設定してみた.

開発環境

  • 実行環境:macOS Mojave 10.14.6
  • Python 3.7 系(3.7.3)
  • pipenv version 2018.11.26

本題

 必要なことは以下の一点のみ.

  • pipenv で新しく仮想環境を構築する際,プロジェクトディレクトリ下に .venv ディレクトリが生成されるように設定する.

 デフォルトでは,pipenv shell コマンドで仮想環境を新しく構築する際,プロジェクトディレクトリ下(pipenv shell を実行するディレクトリ)に .venv は生成されない.プロジェクトディレクトリ下に .venv ディレクトリが存在しないと,VSCode に仮想環境のライブラリ(正確には Python インタプリタ)が認識されず,インストールしたライブラリの補完が適用されない.

 以下に,.venv を生成させて補完を効かせるまでの流れをまとめた.

設定の流れ

  1. ~/.bashrcexport PIPENV_VENV_IN_PROJECT=true 追記し,シェルを再起動.
  2. プロジェクトディレクリに移動し(仮想環境が存在しない状態で) pip shell を実行.
  3. プロジェクトディレクリ下に .venv が生成する.
  4. pipenv install [package]Python ライブラリをインストール.
  5. VSCode を再起動させる.-> Python ライブラリの補完が効く.

 手順 1 の設定が適用されると,pipenv で新しく仮想環境を作ったときにプロジェクトディレクトリ下に .venv ディレクトリが自動で生成されるようになる..venv が存在する状態で VSCode を開くと,.venv 下の Python インタプリタ,ライブラリが読み込まれて補完が効くようになる.

参考

dackdive.hateblo.jp