📝

VSCodeにPoetryの仮想環境を認識させる

2023/04/15に公開

概要

VSCodeのPythonエクステンションに、Poetryで作成した仮想環境を認識させる手順をまとめます。
一度VSCodeの設定を変更するだけで、「Pythonインタープリターの選択」から仮想環境を選択できるようになります。

動作確認環境

  • Mac OS Monterey
  • VSCode 1.77.1
  • Poetry 1.4

前提

  • Python, Poetryインストール済み
  • VSCodeにPythonエクステンション追加済み
  • testというプロジェクトの仮想環境をPoetryで作成済み (プロジェクト名は任意です)
  • 以下、作成したプロジェクト直下をワーキングディレクトリとする

手順

1. Poetryの仮想環境が保存されるパスを確認

以下のコマンドを叩くと確認できます。本環境では仮想環境は ~/Library/Caches/pypooetry/virtualenvsに保存されることが分かります。

$ poetry env info

Virtualenv
Python:         3.11.3
Implementation: CPython
Path:           ~/Library/Caches/pypoetry/virtualenvs/test-OR3y79fW-py3.11
Executable:     ~/Library/Caches/pypoetry/virtualenvs/test-OR3y79fW-py3.11/bin/python
Valid:          True

...

2. VSCodeにvenvのパスを通す

VSCode上で設定を開き、
「Python: Venv Path」に先ほど確認したパス (~/Library/Caches/pypooetry/virtualenvs) を入力します。

すると、インタープリタの選択に作成した仮想環境が表示されるようになります:

また、VSCode上のターミナルを開くと、以下のように、選択した仮想環境を自動的にアクティベートしてくれるようになります。

source ~/Library/Caches/pypoetry/virtualenvs/test-OR3y79fW-py3.11/bin/activate

$ source ~/Library/Caches/pypoetry/virtualenvs/test-OR3y79fW-py3.11/bin/activate
(test-py3.11) 
$ 

その他の方法

  • VSCodeとPoetryで作るPython開発環境: Poetryの仮想環境をプロジェクト直下に作成するように変更することでVSCodeの設定を変更せずに認識できるようにしています。

Discussion