在virtualenv下deploy python程序virtualenv:http://pypi.python.org/pypi/virtualenvvirtualenv可以建立
在virtualenv下deploy python程序
virtualenv:http://pypi.python.org/pypi/virtualenv
virtualenv可以建立一个干净的python运行环境,可以有单独的python运行文件和库,从而将其它环境隔离开来,更换和升级库也不会对其它的程序造成影响。
通过setuptools可以直接安装: easy_install virtualenv
如果easy_install安装不成功,则可下载安装包,解压后运行:python setup.py install
新建env
如下命令新一个环境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/activatepython>>>import os>>>for i in os.path:>>> print i
可以发现ENV下文件夹在python标准安装之前,这样需要import一个包时,会优先从ENV环境下寻找,然后再是标准安装。新建环境时使用--no-site-packages将不使用标准的site-packages:
python virtualenv.py --no-site-packages ENV
当需要使script自动使用ENV环境时,将如下行添加在script文件开始处:
#!/path_to_env/bin/python
For Referencecd /srv/pyenvpython virtualenv osqacd osqacp ~/OSQA /osqa
/srv/pyenv/osqa路径下将包含如下子文件夹:bin,lib,include,osqa,即将程序文件夹osqa放在环境osqa下与bin,lib同一级。
参考http://www.rainsts.net/article.asp?id=1004http://imtx.me/archives/1519.htmlhttp://lucumr.pocoo.org/2008/7/17/deploying-python-web-applications/http://pypi.python.org/pypi/virtualenv