首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

在virtualenv上deploy python程序

2012-12-21 
在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 Reference
cd /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

热点排行