Python 建立虛擬開發環境 Virtualenv

郭耀文
6 min readSep 10, 2021

--

分享給大家在Windows開發Python時,要如何快速建立新的環境,且每個環境之間都是互相獨立,套件之間的版本部會互相干擾,同時不同環境還可以選擇不同Python版本進行開發。

● 簡述 (Introduction)

在Windows上開發Python時,相信一定很多人都會遇到一個痛點,就是到底要怎麼樣讓Python版本與不同版本的套件相容於我的開發環境內呢?這邊會為大家介紹一套很方便且簡單的環境切換套件(virtualenv),不但可以在電腦內建立多個虛擬開發環境,同時在虛擬環境內還可以分別使用不同Python版本,是不是很方便呢!

● virtualenv介紹

virtualenv為一套虛擬環境建置套件,那什麼是虛擬套件呢? 虛擬套件可以想像成我一台電腦內可以同時存在多個開發環境,且每個虛擬環境都是互相獨立,互不干擾。舉例來說:

  1. 虛擬環境(1)=> Python3.6.8,安裝numpy 1.21.2版
  2. 虛擬環境(2) => Python3.7.9,安裝numpy 1.16.5版

由上述說明可以發現,可以讓每個專案擁有自己的python版本和其所需的套件,即使在同一台機器上運行也不會互相影響。而建立虛擬環境的套件當然不只有virtualenv,例如Anaconda、Docker也都是,但我比較不推薦Anaconda是因為其環境較肥,且操作較為麻煩;而Docker操作稍微進階,有興趣的人可以參考我寫的Docker新手入門;故筆者為大家介紹好用的virtualenv強大之處。

● 建立虛擬環境

筆者這邊會從一台全新尚未安裝任何套件的方式為各位介紹,這次會用到的套件/軟體如下:

1. Windows命令題是字元
2. Visual Studio Code
3. python
4. virtualenv

以下將一步一步交各位如何安裝與操作。

  1. 檢查Python是否安裝
$ python --verison

如果有安裝過Python應該會顯示安裝版本號。如未安裝請先安裝Python。

2. 安裝Python

安裝Python方法請先至Python官網下載,內有許多Python版本可以選擇,筆者自己是安裝了三個版本:Python3.8.9 / Python3.7.9 / Python3.6.8,因為日後我就可以在我的虛擬環境內選擇我想要的Python與套件進行搭配。

Python官網:https://www.python.org/

3. 檢查Python是否安裝成功

$ python --verison
顯示python版本

4. 安裝virtualenv (建立虛擬環境套件)

開啟CMD (Windows命令題是字元),並輸入以下命令

# pip3 install — upgrade pip
$ pip3 install virtualenv

安裝完成後檢查virtualenv是否安裝成功。

$ pip3 list

如果再pip3 list有顯示出virtualenv表示安裝成功。

5. 創建虛擬環境

由於日後可能會建立多個虛擬環境,為了方便管理,我會在D槽下建立一個virtualenv資料夾來讓以後建立的虛擬環境統一存取於此。

透過CMD (Windows命令題是字元)將路徑切換至D:\virtualenv內

$ cd /d D:\virtualenv

這時就可以在這層資料夾內建立我們想要的虛擬環境(不指定Python版本,此方法會將PATH環境變數內的Python版本指到virtualenv內)。

# virtualenv 為建立虛擬環境指令 
# EnvName01為變數,即為你要取名的環境名稱
$ virtualenv EnvName01

若要指定虛擬環境內的版本,可以修改指令為下,即可將指定的Python版本指到virtualenv內部。

# 最後的python版本可以自行修改,不過必須電腦有安裝的Python版本,未安裝會報ERROR

$ virtualenv EnvName01--python=python3.8
$ virtualenv EnvName01--python=python3.7
$ virtualenv EnvName01--python=python3.6

6. 檢查虛擬環境是否創建成功

此時會發現在D:\virtualenv資料夾下,多了一個EnvName01的資料夾,即為剛剛已透過virtualenv建立了環境。

7. 進入virtualenv 環境

#將路徑指道剛剛建立的virtualenv資料夾的Scripts內 
$ cd /d D:\virtualenv\EnvName01\Scripts>
# 執行activate
$ activate

進入環境內後會發現前面多了一個環境的名稱(EnvName01),並可以下指令去查看虛擬環境內的Python版本 與 pip3的套件。

$ python --verison
$ pip3 list

這時候就可以在虛擬環境內部安裝你想要的套件。

8. 離開虛擬

deactivate

9. 將Visual Studio Code內切換到你的虛擬環境

(1)點選左下角,紅色框框

(2)點選Enter interpreter path

(3)Find…

(4)選到D:\virtualenv\EnvName01\Scripts\python.exe

(5)即可看到左下角已將開發環境切到該虛擬環境內,同時顯示該虛擬環境所引用的python版本

(6)你可以在VS Code內的TERMINAL下pip list即可以看到剛剛安裝的套件都存在於此虛擬環境內。

10. 刪除虛擬環境

刪除方法很簡單,指需要將D:\virtualenv內產生的虛擬環境資料夾直接刪除即可,是不是很簡單!

● 結語

透過virtualenv來建立虛擬環境,可以讓開發人員快速建立與切換其所需要的環境,提升整體開發速度與時間。不過virtualenv筆者認為僅較適合用於Windows內開法程式時使用,如愈在Linux內部署程時且採用不同環境時,仍建議採用另一種虛擬環境技術【Docker】,有興趣可以考我的文章Docker新手入門

--

--

郭耀文

AI project developer、Machine learning、Deep learning