Python 虛擬環境的建立 — 以 vscode 使用情境為例
建立虛擬環境好處多多,需要什麼 Package 就安裝什麼,也能透過虛擬環境統一團隊的開發環境,而且不需要擔心搞壞自己電腦的環境。如果虛擬環境壞了就 … 重新建立一個就行~
過去我一直是 Anaconda 的使用者,原因很簡單就是容易使用而且能一次把常用的 package 一起安裝不用自己手動一個一個裝,缺點就是 Anaconda 比較肥,東西很多。後來進了業界發現滿多人直接用原生 Python 建立虛擬環境,成為一個學習契機 🙂
前言說明完畢,接下來我們使用原生 Python 建立虛擬環境。
建立虛擬環境並命名
python -m venv virtual_name
很簡單吧,只要一行就搞定了。指令中的 virtual_name 可替換成自己想命名的虛擬環境名稱,不過一般會直接命名為 .venv。
python -m venv .venv
Python 版本預設是會帶入現在環境中的版本,如果電腦中有多個版本的 Python 就會需要指定 Python 版本去建立。
啟動虛擬環境 (vscode 要記得安裝 Python extension)
接著打開 vscode,輸入 CTRL+SHIFT+P,在 command palette 輸入 Python: Select Interpreter。
點開後就能看到底下結果,選擇剛剛建立的虛擬環境 (我這邊有兩個虛擬環境,分別是 .venv、temp1)。 以上動作如果是以指令執行是輸入 .\virtual_name\Scripts\activate。
最後再一次 CTRL+SHIFT+P,輸入 Python: Create Terminal。
就可以在剛剛建立的虛擬環境操作了,例如安裝 Package 以及編譯程式碼。
停止虛擬環境
deactivate
這樣就可以停用虛擬環境。
以上就是很簡單的順一次建立虛擬環境的流程,現在就可以開始安心開發啦
about_Execution_Policies 問題
如果是第一次使用的話,可能會碰到跟我一樣的問題,如下所示:
這是因為微軟針對 PowerShell (vscode 的 terminal 在 windows 就是 PowerShell) 有一些執行原則,講簡單點就是保護我們電腦不受到惡意腳本的侵害。但是不幸的也把我們虛擬環境的操作擋住了… (有興趣了解的人請參考 about_Execution_Policies)
這時請先以系統管理員的身分打開 PowerShell,並輸入 get-executionpolicy 就會發現現在是處於 Restricted 的狀態。
輸入 set-executionpolicy RemoteSigned,並且選擇 A 就能夠覆寫初始設定
再次打開 vscode,鍵盤輸入 CTRL+SHIFT+P,在 command palette 輸入 Python: Create Terminal,現在就可以在剛剛建立的虛擬環境操作了~