0、什么時(shí)候會(huì)用到virtualenv,?
假設(shè)系統(tǒng)中的兩個(gè)應(yīng)用,,其中A應(yīng)用對庫LibFoo的版本要求為1,而B應(yīng)用對同一個(gè)庫LibFoo的版本要求為2,,兩個(gè)應(yīng)用對同一個(gè)庫的要求想沖突了,,而系統(tǒng)中庫默認(rèn)都安裝到/usr/lib/python2.7/site-packages,那么如何能夠同時(shí)使用這兩個(gè)應(yīng)用呢,?
你的用戶權(quán)限不夠,,使得無法將包安裝到site-packages目錄
需要使用一個(gè)應(yīng)用,并且與系統(tǒng)其它應(yīng)用相獨(dú)立,。
如果你遇到以上的問題,,那么virtualenv會(huì)對你有幫助,。virtualenv可以創(chuàng)建一個(gè)環(huán)境,,擁有著自己的安裝目錄,而不會(huì)與系統(tǒng)的共享庫或者其它virtualenv環(huán)境相干擾,。
1,、安裝virtualenv
在安裝virtualenv之前,,我們需要安裝至少有一個(gè)版本的Python;因?yàn)関irtualenv是python的一個(gè)第三方模塊,,必須基于python環(huán)境才能安裝,;
如果你的python環(huán)境有pip,那么直接使用命令:
安裝即可,;否則需要下載源碼,,然后使用命令:python install setup.py 來安裝
安裝之后需要新建virtualenv的獨(dú)立環(huán)境,具體可以查看其幫助命令:
常用的參數(shù)有:
-p:指定一個(gè)版本python環(huán)境,;通常當(dāng)你的系統(tǒng)中安裝了多個(gè)python版本時(shí)會(huì)用到,;默認(rèn)情況下virtualenv會(huì)優(yōu)先選取它的宿主python環(huán)境,即它安裝在那個(gè)python版本下就會(huì)默認(rèn)選擇哪個(gè)版本作為默認(rèn)python隔離環(huán)境,。
--no-site-packages:不使用系統(tǒng)環(huán)境的python安裝包,,即隔離包中不能使用真實(shí)python環(huán)境的安裝包;當(dāng)前版本這個(gè)選項(xiàng)是默認(rèn)的,。
--system-site-packages:與上面相反,,使隔離環(huán)境能訪問系統(tǒng)環(huán)境的python安裝包
--distribute:copy一個(gè)python環(huán)境的分支,默認(rèn)會(huì)安裝setup,、pip,、wheel等基礎(chǔ)模塊
2,、激活
安裝完了之后就可以創(chuàng)建一個(gè)隔離環(huán)境了,使用命令:
1 2 3 | virtualenv envname ##創(chuàng)建一個(gè)新的隔離環(huán)境
cd envname
scripts\activate ##激活并切換到virtualenv環(huán)境
|
3,、使用
創(chuàng)建并激活virtualenv環(huán)境后我們就可以正常的方式來使用和安裝python安裝包及模塊了,。也可以直接切換到需要執(zhí)行的python文件目錄,使用python xxx.py來保證在隔離環(huán)境下執(zhí)行python文件,。
即:我們在需要使用virtualenv環(huán)境之前,,只要先激活然后使用以往同樣的方式來執(zhí)行python操作、運(yùn)行python文件即可
1 2 3 4 | cd my_project_folder
virtual ENV
source bin/activate
deactivate
|
以上就是virtualenv的基本使用過程,。首先,,virtual ENV會(huì)在當(dāng)前目錄創(chuàng)建名為ENV的虛擬環(huán)境,,此時(shí)在當(dāng)前目錄會(huì)自動(dòng)生成三個(gè)目錄:bin, include和lib,。默認(rèn)情況下創(chuàng)建的虛擬環(huán)境會(huì)依賴于系統(tǒng)中的site-packages,即系統(tǒng)中已經(jīng)安裝好的庫在虛擬環(huán)境中仍然可以使用,,如果想去除依賴,,那么可以:
1 | virtualenv - -no -site -packages ENV
|
。通過source bin/activate可以啟動(dòng)當(dāng)前目錄下的虛擬環(huán)境,。啟動(dòng)后,,shell的提示符就會(huì)發(fā)生改變,表示進(jìn)入了虛擬環(huán)境,。使用deactivate離開虛擬環(huán)境,。
4、集成到開發(fā)環(huán)境
當(dāng)前在PyCharm中是支持virtualenv環(huán)境集成的,,其它的IDE暫時(shí)未研究,,集成也是很方便的:
(1)新建一個(gè)項(xiàng)目
(2)點(diǎn)擊解釋器欄的設(shè)置icon
(3)選擇virtualenv
(4)可以新建也可以選擇一個(gè)已有的virtualenv環(huán)境
配置到之后我們也可以在該項(xiàng)目中測試下,選擇一個(gè)區(qū)別與系統(tǒng)環(huán)境的安裝模塊,,查看下其版本是否正確,,我這里因?yàn)橛?個(gè)django版本,所以使用django模塊來測試的,,得到的是正確的結(jié)果,。
如對本文有疑問,請?zhí)峤坏浇涣魃鐓^(qū),,廣大熱心網(wǎng)友會(huì)為你解答?。?nbsp; 點(diǎn)擊進(jìn)入社區(qū)
|