python virtualenv虛擬環境配置與使用


python virtualenv虛擬環境配置與使用

By:賴富玉 QQ1033553122

概述

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即可。

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM