Skip to content

[Python] 如何在資料夾中建立 Python 虛擬環境

一直以來,除非只是要寫個簡單的測試、或是單個腳本、統計程式……否則我一向都會為了自己正在寫的專案建立 Python 的虛擬環境。

之所以會習慣這樣做,是因為曾經我在進行模型訓練的時候,Numpy 的版本衝突所導致的。那時候我升級了 Numpy,A 模型就再也不肯動了;我降級了 Numpy,B 模型就死去了……

最後解決這個問題的方法,是我將其放置在不同的虛擬環境中。這樣一來,雙方都可以安裝符合自己需求的 Packages,可喜可賀。

今天湊巧被朋友順口一問:『欸我能不能裝這個套件啊?』那是一個大家一起共用的 Server。

我想也沒想直接回說:『隨便啊。』反正我重要的程式都會是用虛擬環境跑的。

就這樣,我突然覺得我應該紀錄一下怎麼搭建虛擬環境。


使用 venv 建立虛擬環境

首先,若是 Ubuntu/Debian (或其他) 環境的話,可能需要先以以下指令安裝:

sudo apt-get install python3-venv

安裝好了以後,使用以下指令建立虛擬環境資料夾。資料夾可以不必事先建立好。 (假設我要建立的虛擬環境叫 “Blog”)

python3.6 -m venv Blog
cd Blog/
ls

Output:

bin include lib lib64 share pyvenv.cfg

然後,若是要啟動這個虛擬環境,我們需要使用以下指令:

source bin/activate

在 Windows 的環境中也是要找這個 “activate.bat” 的檔案。

虛擬環境啟動之後,在終端機當中最前面應該會標示 “(Blog)” 這樣的字樣。當然,你的虛擬環境的名稱會與我不同,會是你自己取的名字。

就像這樣。

然後來到重點的部份了。我們來看看現在這個環境底下的 Python Packages。

pip3 list

Output:

pip (9.0.1)
pkg-resources (0.0.0)
setuptools (39.0.1)

我們可以看到,環境是非常純淨的!沒有任何多餘的套件。然後我們接著使用 pip3 安裝新的套件,我們會發現套件只會裝在這虛擬的環境中。

pip3 install numpy
pip3 list

Output:

numpy (1.18.3)
pip (9.0.1)
pkg-resources (0.0.0)
setuptools (39.0.1)

大功告成!


關閉虛擬環境

想要關閉虛擬環境也同樣簡單,使用以下指令:

deactivate

我們會看到象徵虛擬環境的 “(Blog)” 字樣消失了。


References

Tags:

Leave a Reply