在 vscode 的 poetry 想用 python interpreter

能在 vscode 上使用由 poetry 產生出來的 virtual environment,讓 python interpreter 可以自動讀取到。

Kiwi lee
4 min readDec 30, 2021

緣由

poetry 他的 env 預設會是在 ~/.poetry 的某一個奇怪的地方,並且有奇怪的名字,像是下圖我創了個 fastapi-play 的 venv 。

Poetry 環境的指令介紹

同個專案可能有不同的 virtual enviroment ,或是你想看更多目前環境的細節,都可以透過 poetry env 相關的指令查看或變更。

下面的 venv path 我已經有修改過了,跟上面不一樣是正常滴

查看目前使用到的 env

$ poetry env info

查看目前專案有建立的 virtual environment

$ poetry env list

變更 virtual environment

假如你有建立多個 virtual environment ,且從上面的指令也可以看到,這時候你可以透過 poetry 的指令變更 virtual environment

$ poetry env use <python>

移除 virtual environment

可能為了重新安裝 virtual environment 或為了測試套件,可能會移除 virtual environment 。

$ poetry env remove <python>

ok~ 以上的指令大致上介紹了 poetry env 的管理,詳細可以參考最下面的 reference 。

建立 vscode 與 poetry env 的連結

$ poetry config virtualenvs.in-project true

谷歌了下,發現 poetry 已經有內建好了~

把這個設定 enable 後,virtualenvs 的 path 會直接建立在 project 裡面,path 為 $PROJECT/.venv ,這樣未來要取用就很方便。

我改完設定後,vscode 直接就可以吃到。

刪除舊的 virtualenv,根據上面的 config 安裝新的

$ poetry remove <python>
$ poetry install

結論

方便!解決問題

Reference

--

--

Kiwi lee
Kiwi lee

Written by Kiwi lee

Hi, I'm kiwi, Platform Engineer (SRE, DevOps). Python Engineer. Love art, books, longboard. https://kiwi-walk.com

No responses yet