為什么要構(gòu)建虛擬環(huán)境
- 很多時(shí)候不同的 Python 應(yīng)用所依賴的版本是沖突的,滿足了其中一個(gè),另一個(gè)則無法運(yùn)行,解決這一問題的方法是 虛擬環(huán)境,互不干擾
安裝虛擬環(huán)境
- 在 python3.3 之前,只能通過 virtualenv 創(chuàng)建虛擬環(huán)境,首先需要安裝 virtualenv
pip install virtualenv
- 創(chuàng)建虛擬環(huán)境
virtualenv模塊
virtualenv --no-site-packages myvenv
參數(shù) --no-site-packages 的意思是創(chuàng)建虛擬環(huán)境時(shí),不復(fù)制主環(huán)境中安裝的第三方包,也就是創(chuàng)建一個(gè) “干凈的” 虛擬環(huán)境
virtualenv 還有很多參數(shù),用于不同的使用場(chǎng)景,例如:
- -p: 用于指定 Python 解析器,就是安裝好的 Python 應(yīng)用程序,默認(rèn)為當(dāng)前環(huán)境中的 Python
- --no-pip:不需要安裝 pip,默認(rèn)為安裝
- --clear:如果創(chuàng)建虛擬環(huán)境的目錄已經(jīng)有了其他虛擬環(huán)境,清楚重建
venv 模塊
Python3.3 之后,可以用模塊 venv 代替 virtualenv
python -m venv myvenv
在當(dāng)前目錄創(chuàng)建一個(gè)名為 myvenv 的虛擬環(huán)境
參數(shù):
- --without-pip: 不需要安裝 pip,默認(rèn)為安裝
- --clear:如果創(chuàng)建虛擬環(huán)境的目錄已經(jīng)有了其他虛擬環(huán)境,清楚重建
激活
虛擬環(huán)境創(chuàng)建好后,需要激活才能在當(dāng)前命令行中使用
source myvenv/bin/activate
退出虛擬環(huán)境很簡單,只需要執(zhí)行 deactivate 命令就行
服務(wù)器部署虛擬環(huán)境
一般部署流程是:
開發(fā)完成后,使用 pip freeze > requirements.txt 命令將項(xiàng)目的庫依賴導(dǎo)出,作為代碼的一部分
將代碼上傳到服務(wù)器
在服務(wù)器上創(chuàng)建一個(gè)虛擬環(huán)境
激活虛擬環(huán)境,執(zhí)行 pip install -r requirements.txt,安裝項(xiàng)目依賴
退出
deactivate