python virtualenv虛擬環境配置與使用教程詳解
概述
python開發過程中,我們可能需要同時開發多款應用,這些應用可能公用同一個版本的Python程式,但是使用不同版本的第三方庫,比如A應用使用six 1.12.0,而B應用需要使用six 1.15.0。這種情況下,virtualenv就派上用場了,它能為每個應用提供一套“相對獨立”的Python虛擬執行環境。
注意,這裡為啥是“相對獨立”而不是“絕對獨立”呢?針對一些.exe依賴程式,預設安裝時,不會安裝在虛擬環境中,安裝後為各個應用共享,參考網路資料說要改登錄檔才可以。
虛擬環境配置與使用
測試環境
win10
python3.5
python3.6
virtualevn 20.0.23
虛擬環境配置
1. 安裝virtualenv
pip install virtualenv
說明:這裡的pip使用哪個python版本關聯的pip(如果系統有多個python版本),取決於你係統環境變數配置
安裝完後可以檢視virtualenv.exe所在路徑
where virtualenv
說明:如上圖,實踐時發現,執行pip install virtualenv命令後,根據path系統環境變數能找到的所有python都裝上了virtualenv
安裝完後可以通過where檢視virtualenv.exe所在路徑
在Python3.4之前,virtualenv需要獨立手動安裝後,方可執行。之後的版本中,Python自帶了一個venv庫,執行python –m venv就可以達到與virtalenv同樣的效果。更多的使用者習慣上還是使用virtualenv的方式。
下面我安裝的是16.0.4版本的virtualenv。更高版本的下面有一定說明,請注意區別。
2. 建立虛擬環境
建立一個總目錄,用於管理所有虛擬環境。
C:\Users\cassmall>cd /d d:
D:\>mkdir d:\PythonVirtualenvs
D:\>set path=D:\Program Files\Python35\Scripts\virtualenv.exe;%path%
D:\>virtualenv -p "D:\Program Files\Python35\python.exe" d:\PythonVirtualenvs\oldAutotestingPlatform
created virtual environment CPython3.5.4.final.0-64 in 1902ms
creator CPython3Windows(dest=d:\PythonVirtualenvs\oldAutotestingPlatform,clear=False,global=False)
seeder FromAppData(download=False,pip=latest,setuptools=latest,wheel=latest,via=copy,app_data_dir=C:\Users\cassmall\AppData\Local\pypa\virtualenv\seed-app-data\v1.0.1)
activators FishActivator,BashActivator,BatchActivator,XonshActivator,PythonActivator,PowerShellActivator
選項說明:
-p: 指定你要虛擬的Python版本,如果python路徑帶空格,需要為路徑新增雙引號,否則會報類似錯誤:FileNotFoundError: [WinError 2] 系統找不到指定的檔案
d:\PythonVirtualenvs\oldAutotestingPlatform: 單個虛擬環境的目錄路路徑(路徑格式推薦:總目錄路徑/以專案命名的目錄),這裡表示在PythonVirtualenvs該目錄下,建立一個名叫oldAutotestingPlatform的虛擬環境。
virtualenv的早些版本,還支援–-no-site-packages引數,用於控制建立虛擬環境時不將原版本中的第三方庫拷貝過來,以便獲得一個純淨的Python環境,最新版本中,去掉了該引數,預設直接使用–-no-site-packages模式。
更多選項參考官方資料。
檢視建立結果
使用虛擬環境
命令列下,進入你要使用的虛擬環境的目錄下的script資料夾,執行activate
命令。或者使用絕對路徑的方式呼叫該命令。
d:\PythonVirtualenvs\oldAutotestingPlatform\Scripts>activate.bat
(oldAutotestingPlatform)
d:\PythonVirtualenvs\oldAutotestingPlatform\Scripts>
如上,如果命令執行成功,會出現提示符,本例中為(oldAutotestingPlatform)
,
表示當前在oldAutotestingPlatform
這個虛擬環境內,在該環境內進行的python相關操作(執行python命令,安裝python軟體包等,和在常規python環境中操作一樣,該怎麼操作還是怎麼操作),都被限制和繫結在該虛擬環境內(軟體包會被安裝到虛擬環境目錄下的Lib\site-packages中),不會對作業系統下本地的Python版本和其它的虛擬環境產生任何的影響。
退出虛擬環境
要退出虛擬環境,只要執行script目錄下的deactivate
命令就可以了。
刪除虛擬環境
要刪除虛擬環境,直接刪除對應虛擬環境目錄就可以了
virtualenv配合Pycharm的使用
可以在Pycharm中指定虛擬環境的python直譯器,以便讓專案在虛擬環境中執行。做法如下:
File -> Settings -> Project:xxx(具體專案) -> Project Interpreter
選擇Add Local
選擇對應虛擬環境目錄下的Scripts\python.exe,如下,點選Ok即可。
到此這篇關於python virtualenv虛擬環境配置與使用教程詳解的文章就介紹到這了,更多相關python virtualenv虛擬環境內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!