0、什么時候會用到virtualenv?
假設系統中的兩個應用,其中A應用對庫LibFoo的版本要求為1,而B應用對同一個庫LibFoo的版本要求為2,兩個應用對同一個庫的要求想沖突了,而系統中庫默認都安裝到/usr/lib/python2.7/site-packages,那么如何能夠同時使用這兩個應用呢?
你的用戶權限不夠,使得無法將包安裝到site-packages目錄
需要使用一個應用,并且與系統其它應用相獨立。
如果你遇到以上的問題,那么virtualenv會對你有幫助。virtualenv可以創建一個環境,擁有著自己的安裝目錄,而不會與系統的共享庫或者其它virtualenv環境相干擾。
1、安裝virtualenv
在安裝virtualenv之前,我們需要安裝至少有一個版本的Python;因為virtualenv是python的一個第三方模塊,必須基于python環境才能安裝;
如果你的python環境有pip,那么直接使用命令:
pip install virtualenv
virtualenv -h

常用的參數有:
-p:指定一個版本python環境;通常當你的系統中安裝了多個python版本時會用到;默認情況下virtualenv會優先選取它的宿主python環境,即它安裝在那個python版本下就會默認選擇哪個版本作為默認python隔離環境。
--no-site-packages:不使用系統環境的python安裝包,即隔離包中不能使用真實python環境的安裝包;當前版本這個選項是默認的。
--system-site-packages:與上面相反,使隔離環境能訪問系統環境的python安裝包
--distribute:copy一個python環境的分支,默認會安裝setup、pip、wheel等基礎模塊
2、激活
安裝完了之后就可以創建一個隔離環境了,使用命令:
virtualenv envname ##創建一個新的隔離環境 cd envname Scripts/activate ##激活并切換到virtualenv環境

cd my_project_foldervirtual ENVsource bin/activatedeactivate
以上就是virtualenv的基本使用過程。首先,virtual ENV會在當前目錄創建名為ENV的虛擬環境,此時在當前目錄會自動生成三個目錄:bin, include和lib。默認情況下創建的虛擬環境會依賴于系統中的site-packages,即系統中已經安裝好的庫在虛擬環境中仍然可以使用,如果想去除依賴,那么可以:
virtualenv --no-site-packages ENV
4、集成到開發環境
當前在PyCharm中是支持virtualenv環境集成的,其它的IDE暫時未研究,集成也是很方便的:
(1)新建一個項目
(2)點擊解釋器欄的設置icon
(3)選擇virtualenv
(4)可以新建也可以選擇一個已有的virtualenv環境

配置到之后我們也可以在該項目中測試下,選擇一個區別與系統環境的安裝模塊,查看下其版本是否正確,我這里因為有2個django版本,所以使用django模塊來測試的,得到的是正確的結果。

新聞熱點
疑難解答
圖片精選