Python,目前最夯的語言之一
而 Python 之所以這麼流行,歸功其強大而廣泛的標準函式庫,還有數量不少的實用套件
跟其他流行語言一樣,Python 也有自己的套件管理工具 pip
有需要的時候,一行指令安裝個套件,就可以幫助我們少寫很多程式碼
pip3 install [套件名稱]
但是套件多其實也有個困擾,當你使用 Python 開發一陣子之後,某天你下個指令查看目前所有安裝的套件
pip3 list
你可能會發現你安裝的套件,已經多到讓畫面已經塞不下了,一整個眼花撩亂
除此之外,當我們有兩個專案需要安裝同一個但是版本不同的套件時,目前 pip 是沒有提供這樣的功能
這時候我們就可以使用 Python 的虛擬環境套件(virtual environment)來幫助我們進行專案套件管理
python 3 預設就會裝 virtual environment 這個套件
我們就可以建立一個名為 venv 的虛擬環境資料夾
python3 -m venv venv
要啟用虛擬環境,輸入指令
source venv/bin/activate
這個時候 terminal 的最上方就會多一個 (venv),代表目前已在虛擬環境中
(venv)
# allen @ allendeMacBook-Pro in ~/code/python_3 [0:06:28]
$
原本指令是使用 python3 與 pip3,在虛擬環境中,都會變成 python 與 pip,可以少打一個 “3”(讚)
我們可以使用 which 指令查看 python 與 pip 指令的路徑,確認是否已在虛擬環境
(venv)
# allen @ allendeMacBook-Pro in ~/code/python_3/crawler [0:12:50]
$ which python
/Users/allen/code/python_3/venv/bin/python
這個時候,使用 pip 所安裝的套件,都只會在這個虛擬環境中,不會影響本機環境
你可以在每個專案中建立個別的虛擬環境,彼此之間互不干擾
這麼做除了可以有效的管理套件,還可以在不同的專案中,安裝同一個但是不同版本的套件
想要離開虛擬環境,可以輸入指令, terminal 的上方的 (venv) 就會消失,代表已離開虛擬環境
deactivate
剛建立的虛擬環境,通常都是只有基礎套件的乾淨狀態
如果想要在建立虛擬環境後,使用本機環境已安裝的套件,可以加上 --system-site-packages 這個選項
python3 -m venv venv --system-site-packages
Python 的虛擬環境套件除了官方預設的 virtualenv,還有其他類似套件,且功能一樣強大
詳細可以參考
Python虛擬環境指南2020版