Last Updated on 2021-06-22 by Clay
一直以來,除非只是要寫個簡單的測試、或是單個腳本、統計程式......否則我一向都會為了自己正在寫的專案建立 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)" 字樣消失了。