虛擬環(huán)境的創(chuàng)建输涕,目的是與系統(tǒng)的python環(huán)境隔離音婶,創(chuàng)建一個與項(xiàng)目相關(guān)的干凈環(huán)境,每個虛擬環(huán)境有獨(dú)立的python解釋器(該解釋器同創(chuàng)建虛擬環(huán)境的python版本有關(guān)系)莱坎,和有自己獨(dú)立的一套安裝包(庫)衣式;
注意 :python v3.3、v3.4中推薦使用的pyvenv模塊在python3.6中被棄用了檐什,v3.5后推薦使用原生的venv模塊創(chuàng)建虛擬環(huán)境
創(chuàng)建虛擬環(huán)境
python3 -m venv /path/to/new/virtual/environment
??執(zhí)行該命令碴卧,會創(chuàng)建一個虛擬環(huán)境的目錄:/path/to/new/virtual/environment,目錄文件夾結(jié)構(gòu)【圖中的/path/to/new/virtual/environment 定義為venv】如下:
pyvenv.cfg 文件
??主要是告知運(yùn)用哪個python命令安裝乃正,且創(chuàng)建子目錄bin(window上是Script)住册、lib/pythonX.Y/site-packages (window上Lib\site-packages),和設(shè)置是否拷貝系統(tǒng)環(huán)境site-packages 中的安裝包瓮具,默認(rèn)False荧飞,其中bin目錄下放可執(zhí)行文件,如激活名党、退出激活虛擬環(huán)境等叹阔;lib/pythonX.Y/site-packages存放安裝包,初始情況下默認(rèn)為空
??需要注意:python v3.4+會默認(rèn)安裝pip包管理工具传睹,可使用--without-pip選項(xiàng)禁止安裝pip
激活&退出虛擬環(huán)境
??激活環(huán)境耳幢,主要是切換成當(dāng)前虛擬環(huán)境中的python解釋器,非系統(tǒng)python解釋器
bash/zsh:
source <venv>/bin/activate.csh
Posix:
source <venv>/bin/activate
Windows cmd.exe:
<venv>\Scripts\activate.bat
PowerShell PS:
<venv>\Scripts\Activate.ps1
相應(yīng)地欧啤,退出虛擬環(huán)境睛藻,則根據(jù)不同平臺執(zhí)行deactivate
的可執(zhí)行文件即可
遇到的一些問題
- 問題:windows上執(zhí)行
python3 -m venv ./venv
時候報系統(tǒng)找不到指定的文件錯誤,且Scripts目錄下的文件只有python和pythonw堂油,沒有activite相關(guān)文件
解決方案:暫時不安裝pip修档,之后手動安裝
python3 -m venv --without-pip ./venv
window上,python v3.4+府框,只需要執(zhí)行python -m ensurepip
即可手動安裝pip吱窝,其他版本可參考:https://stackoverflow.com/questions/4750806/how-to-install-pip-on-windows - 問題:為什么網(wǎng)上會出現(xiàn)各種
virtualenv
讥邻、pyvenv
創(chuàng)建虛擬環(huán)境的教程
首先目的都是為了創(chuàng)建虛擬環(huán)境而創(chuàng)立的模塊,python版本不同院峡,使用的手段不同兴使,官方是3.5版本后才推薦使用自帶的venv模塊創(chuàng)建,那么對于前期版本照激,只能使用其他辦法发魄,如使用第三方virtualenv
模塊等來創(chuàng)建