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

說明:如上圖,實踐時發(fā)現(xiàn),執(zhí)行pip install virtualenv命令后,根據(jù)path系統(tǒng)環(huán)境變量能找到的所有python都裝上了virtualenv
安裝完后可以通過where查看virtualenv.exe所在路徑
在Python3.4之前,virtualenv需要獨立手動安裝后,方可執(zhí)行。之后的版本中,Python自帶了一個venv庫,執(zhí)行python –m venv就可以達到與virtalenv同樣的效果。更多的用戶習慣上還是使用virtualenv的方式。
下面我安裝的是16.0.4版本的virtualenv。更高版本的下面有一定說明,請注意區(qū)別。
2. 創(chuàng)建虛擬環(huán)境
創(chuàng)建一個總目錄,用于管理所有虛擬環(huán)境。
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] 系統(tǒng)找不到指定的文件
d:\PythonVirtualenvs\oldAutotestingPlatform: 單個虛擬環(huán)境的目錄路路徑(路徑格式推薦:總目錄路徑/以項目命名的目錄),這里表示在PythonVirtualenvs該目錄下,建立一個名叫oldAutotestingPlatform的虛擬環(huán)境。
virtualenv的早些版本,還支持–-no-site-packages參數(shù),用于控制建立虛擬環(huán)境時不將原版本中的第三方庫拷貝過來,以便獲得一個純凈的Python環(huán)境,最新版本中,去掉了該參數(shù),默認直接使用–-no-site-packages模式。
更多選項參考官方資料。
查看創(chuàng)建結(jié)果

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

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


選擇Add Local
選擇對應虛擬環(huán)境目錄下的Scripts\python.exe,如下,點擊Ok即可。


到此這篇關于python virtualenv虛擬環(huán)境配置與使用教程詳解的文章就介紹到這了,更多相關python virtualenv虛擬環(huán)境內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
- Python虛擬環(huán)境virtualenv安裝的詳細教程保姆級(Windows和linux)
- python的virtualenv虛擬環(huán)境常見問題和命令
- Python使用virtualenv創(chuàng)建虛擬環(huán)境的詳細步驟
- python虛擬環(huán)境venv、virtualenv配置方式
- Python虛擬環(huán)境virtualenv創(chuàng)建及使用過程圖解
- Python虛擬環(huán)境庫virtualenvwrapper安裝及使用
- python安裝virtualenv虛擬環(huán)境步驟圖文詳解
- python虛擬環(huán)境的安裝和配置(virtualenv,virtualenvwrapper)
- windows下python虛擬環(huán)境virtualenv安裝和使用詳解
- Python虛擬環(huán)境管理工具virtualenv詳解
相關文章
利用Python中的Xpath實現(xiàn)一個在線匯率轉(zhuǎn)換器
這篇文章主要給大家介紹了關于如何利用Python中的Xpath實現(xiàn)一個在線匯率轉(zhuǎn)換器的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-09-09
PyCharm上安裝Package的實現(xiàn)(以pandas為例)
這篇文章主要介紹了PyCharm上安裝Package的實現(xiàn)(以pandas為例),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-09-09
Python實戰(zhàn)之使用PyQt5構(gòu)建HTTP接口測試工具
在現(xiàn)代軟件開發(fā)中,測試接口的有效性與響應情況變得尤為重要,本文將指導構(gòu)建一個簡單的HTTP接口測試工具,使用Python的PyQt5庫創(chuàng)建用戶界面,并通過requests庫發(fā)送 HTTP 請求,需要的可以參考下2024-11-11
python與mysql數(shù)據(jù)庫交互的實現(xiàn)
這篇文章主要介紹了python與mysql數(shù)據(jù)庫交互的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-01-01
微信小程序前端如何調(diào)用python后端的模型詳解
近期需要開發(fā)一個打分的微信小程序,涉及到與后臺服務器的數(shù)據(jù)交互,這篇文章主要給大家介紹了關于微信小程序前端如何調(diào)用python后端模型的相關資料,需要的朋友可以參考下2022-04-04
使用Python中的reduce()函數(shù)求積的實例
今天小編就為大家分享一篇使用Python中的reduce()函數(shù)求積的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-06-06

