Skip to content

[VS Code] 在專案中啟用 Python 虛擬環境

Last Updated on 2022-03-14 by Clay

最近我將一些私人環境搬遷到 VS Code 上面去了,但是這之中碰到一個小問題:VS Code 預設支援的 Python 語法解析是基於全域環境,而我則習慣在每個不同的 Python 專案中啟用不同的虛擬環境。

這會發生什麼問題呢?簡單來說,假設我今天在 A 專案裡頭安裝了 gdown 套件,然而在全域環境中卻沒有安裝,那麼,一但我想要使用 gdown 中相關函式的自動補齊,VS Code 就會去抓全域環境中的 gdown,然後告訴我當前工作環境中根本沒有 gdown

不過實際上,VS Code 編輯器是支援從 Python 虛擬環境中的依賴去解析的,畢竟所謂的 Python 虛擬環境,實際上只是在一個特定位置儲存著獨立直譯器interpreter)以及複數安裝的函式庫與套件。VS Code 只需要將用於解析的全域設定路徑,轉成我們建立的虛擬環境的目錄即可。


啟用虛擬環境方法

而啟用的方法說穿了並不複雜,如果你的專案裡還沒啟用虛擬環境,則直接建立虛擬環境即可;但我因為專案內早已經有相關的虛擬環境資料夾 venv,所以最快的方式就是 —— 重新建立一個一模一樣的虛擬環境。

如果你的專案中沒有建立任何虛擬環境,可以從 Step 1 開始操作。


Step 0: (optional) 備份虛擬環境資料

pip3 freeze > requirements.txt



Step 1: 安裝 VS Code 的 Python 擴充

如果安裝過了,可以跳過這一步。打開側邊欄的 Extensions,搜尋 python 並安裝。



Step 2: 建立虛擬環境

首先開啟 VS Code 並開啟專案(需要開啟 VS Code 才會偵測到新的環境),接著打開終端機,不論是使用外部的終端機還是 VS Code 編輯器的終端機欄位都可以。

來到你的專案目錄的最上層,然後使用以下指令建立虛擬環境(可以參考 https://docs.python.org/3/tutorial/venv.html):

python3 -m venv venv
source venv/bin/activate


接著你應該會看到 VS Code 的右下角跳出:

選擇 Yes,你當前開啟的專案程式碼就會以虛擬環境來解析,就不會出現找不到套件的情況了。

如果你需要將原本備份好的工作環境環境,可以使用以下指令:

pip3 install requirements.txt 



以我為例,會發現 gdown 套件在專案中,從『警告』變成了正常的顏色,說明 VS Code 已經從虛擬環境中抓到了該套件。


References


Read More

Leave a Reply