virtualenv可以建立一個乾淨的python運行環境,可以有單獨的python運行文件和庫,從而將其它環境隔離開來,更換和升級庫也不會對其它的程序造成影響。
通過setuptools可以直接安裝: easy_install virtualenv
如果easy_install安裝不成功,則可下載安裝包,解壓後運行:python setup.py install
[b]新建env[/b]
如下命令新一個環境ENV, 將在當前目錄下新建一個名爲ENV的文件夾,python解釋程序和一些庫會安裝到該文件下。對windows和linux所建的子文件夾不同。
python virtualenv.py ENV
#or: virtualenv ENV
(1)windows
> Scripts: 可運行腳本和python解釋器,easy_install也安裝在該目錄
> Lib: 一些標準庫和site-packages子目錄
使用環境:Scripts\activate.bat; 停止使用Scripts\deactivate.bat
(2)linux
> bin
> lib
> include
使用環境:source bin/activate; 停止使用deactivate
virtualenv新建環境時,easy_install和pip也將安裝。這樣當激活環境後使用easy_install安包時,將安裝在ENV環境下。
使用如下命令來檢測環境變量:
source bin/activate
python
>>>import os
>>>for i in os.path:
>>> print i
可以發現ENV下文件夾在python標準安裝之前,這樣需要import一個包時,會優先從ENV環境下尋找,然後再是標準安裝。新建環境時使用--no-site-packages將不使用標準的site-packages:
[code]
python virtualenv.py --no-site-packages ENV
[/code]
當需要使script自動使用ENV環境時,將如下行添加在script文件開始處:
#!/path_to_env/bin/python
[b]For Reference[/b]
[code]
cd /srv/pyenv
python virtualenv osqa
cd osqa
cp ~/OSQA /osqa
[/code]
/srv/pyenv/osqa路徑下將包含如下子文件夾:bin,lib,include,osqa,即將程序文件夾osqa放在環境osqa下與bin,lib同一級。
[b]參考[/b]
[list]
[*][url]http://www.rainsts.net/article.asp?id=1004[/url]
[*][url]http://imtx.me/archives/1519.html[/url]
[*][url]http://lucumr.pocoo.org/2008/7/17/deploying-python-web-applications/[/url]
[*][url]http://pypi.python.org/pypi/virtualenv[/url]
[/list]