python virtualenv虛擬環(huán)境配置與使用教程詳解
概述
python開發(fā)過程中,我們可能需要同時(shí)開發(fā)多款應(yīng)用,這些應(yīng)用可能公用同一個(gè)版本的Python程序,但是使用不同版本的第三方庫(kù),比如A應(yīng)用使用six 1.12.0,而B應(yīng)用需要使用six 1.15.0。這種情況下,virtualenv就派上用場(chǎng)了,它能為每個(gè)應(yīng)用提供一套“相對(duì)獨(dú)立”的Python虛擬運(yùn)行環(huán)境。
注意,這里為啥是“相對(duì)獨(dú)立”而不是“絕對(duì)獨(dú)立”呢?針對(duì)一些.exe依賴程序,默認(rèn)安裝時(shí),不會(huì)安裝在虛擬環(huán)境中,安裝后為各個(gè)應(yīng)用共享,參考網(wǎng)絡(luò)資料說要改注冊(cè)表才可以。
虛擬環(huán)境配置與使用
測(cè)試環(huán)境
win10
python3.5
python3.6
virtualevn 20.0.23
虛擬環(huán)境配置
1. 安裝virtualenv
pip install virtualenv
說明:這里的pip使用哪個(gè)python版本關(guān)聯(lián)的pip(如果系統(tǒng)有多個(gè)python版本),取決于你系統(tǒng)環(huán)境變量配置
安裝完后可以查看virtualenv.exe所在路徑
where virtualenv

說明:如上圖,實(shí)踐時(shí)發(fā)現(xiàn),執(zhí)行pip install virtualenv命令后,根據(jù)path系統(tǒng)環(huán)境變量能找到的所有python都裝上了virtualenv
安裝完后可以通過where查看virtualenv.exe所在路徑
在Python3.4之前,virtualenv需要獨(dú)立手動(dòng)安裝后,方可執(zhí)行。之后的版本中,Python自帶了一個(gè)venv庫(kù),執(zhí)行python ?m venv就可以達(dá)到與virtalenv同樣的效果。更多的用戶習(xí)慣上還是使用virtualenv的方式。
下面我安裝的是16.0.4版本的virtualenv。更高版本的下面有一定說明,請(qǐng)注意區(qū)別。
2. 創(chuàng)建虛擬環(huán)境
創(chuàng)建一個(gè)總目錄,用于管理所有虛擬環(huán)境。
C:Userscassmall>cd /d d:
D:>mkdir d:PythonVirtualenvs
D:>set path=D:Program FilesPython35Scriptsvirtualenv.exe;%path%
D:>virtualenv -p 'D:Program FilesPython35python.exe' d:PythonVirtualenvsoldAutotestingPlatform
created virtual environment CPython3.5.4.final.0-64 in 1902ms
creator CPython3Windows(dest=d:PythonVirtualenvsoldAutotestingPlatform, clear=False, global=False)
seeder FromAppData(download=False, pip=latest, setuptools=latest, wheel=latest, via=copy, app_data_dir=C:UserscassmallAppDataLocalpypavirtualenvseed-app-datav1.0.1)
activators FishActivator,BashActivator,BatchActivator,XonshActivator,PythonActivator,PowerShellActivator
選項(xiàng)說明:
-p: 指定你要虛擬的Python版本,如果python路徑帶空格,需要為路徑添加雙引號(hào),否則會(huì)報(bào)類似錯(cuò)誤:FileNotFoundError: [WinError 2] 系統(tǒng)找不到指定的文件
d:PythonVirtualenvsoldAutotestingPlatform: 單個(gè)虛擬環(huán)境的目錄路路徑(路徑格式推薦:總目錄路徑/以項(xiàng)目命名的目錄),這里表示在PythonVirtualenvs該目錄下,建立一個(gè)名叫oldAutotestingPlatform的虛擬環(huán)境。
virtualenv的早些版本,還支持?-no-site-packages參數(shù),用于控制建立虛擬環(huán)境時(shí)不將原版本中的第三方庫(kù)拷貝過來,以便獲得一個(gè)純凈的Python環(huán)境,最新版本中,去掉了該參數(shù),默認(rèn)直接使用?-no-site-packages模式。
更多選項(xiàng)參考官方資料。
查看創(chuàng)建結(jié)果

使用虛擬環(huán)境
命令行下,進(jìn)入你要使用的虛擬環(huán)境的目錄下的script文件夾,運(yùn)行activate命令。或者使用絕對(duì)路徑的方式調(diào)用該命令。
d:PythonVirtualenvsoldAutotestingPlatformScripts>activate.bat
(oldAutotestingPlatform) d:PythonVirtualenvsoldAutotestingPlatformScripts>
如上,如果命令執(zhí)行成功,會(huì)出現(xiàn)提示符,本例中為(oldAutotestingPlatform),表示當(dāng)前在oldAutotestingPlatform這個(gè)虛擬環(huán)境內(nèi),在該環(huán)境內(nèi)進(jìn)行的python相關(guān)操作(運(yùn)行python命令,安裝python軟件包等,和在常規(guī)python環(huán)境中操作一樣,該怎么操作還是怎么操作),都被限制和綁定在該虛擬環(huán)境內(nèi)(軟件包會(huì)被安裝到虛擬環(huán)境目錄下的Libsite-packages中),不會(huì)對(duì)操作系統(tǒng)下本地的Python版本和其它的虛擬環(huán)境產(chǎn)生任何的影響。
退出虛擬環(huán)境

要退出虛擬環(huán)境,只要運(yùn)行script目錄下的deactivate命令就可以了。
刪除虛擬環(huán)境
要?jiǎng)h除虛擬環(huán)境,直接刪除對(duì)應(yīng)虛擬環(huán)境目錄就可以了
virtualenv配合Pycharm的使用
可以在Pycharm中指定虛擬環(huán)境的python解釋器,以便讓項(xiàng)目在虛擬環(huán)境中運(yùn)行。做法如下:
File -> Settings -> Project:xxx(具體項(xiàng)目) -> Project Interpreter


選擇Add Local
選擇對(duì)應(yīng)虛擬環(huán)境目錄下的Scriptspython.exe,如下,點(diǎn)擊Ok即可。


到此這篇關(guān)于python virtualenv虛擬環(huán)境配置與使用教程詳解的文章就介紹到這了,更多相關(guān)python virtualenv虛擬環(huán)境內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. CSS可以做的幾個(gè)令你嘆為觀止的實(shí)例分享2. vue前端RSA加密java后端解密的方法實(shí)現(xiàn)3. JSP+Servlet實(shí)現(xiàn)文件上傳到服務(wù)器功能4. 基于javaweb+jsp實(shí)現(xiàn)企業(yè)財(cái)務(wù)記賬管理系統(tǒng)5. vue項(xiàng)目登錄成功拿到令牌跳轉(zhuǎn)失敗401無登錄信息的解決6. 基于jsp+mysql實(shí)現(xiàn)在線水果銷售商城系統(tǒng)7. ASP動(dòng)態(tài)網(wǎng)頁(yè)制作技術(shù)經(jīng)驗(yàn)分享8. php使用正則驗(yàn)證密碼字段的復(fù)雜強(qiáng)度原理詳細(xì)講解 原創(chuàng)9. ASP中實(shí)現(xiàn)字符部位類似.NET里String對(duì)象的PadLeft和PadRight函數(shù)10. 淺談?dòng)蓀osition屬性引申的css進(jìn)階討論

網(wǎng)公網(wǎng)安備