`

在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/activate
python
>>>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/pyenv
python virtualenv osqa
cd osqa
cp ~/OSQA /osqa

/srv/pyenv/osqa路径下将包含如下子文件夹:bin,lib,include,osqa,即将程序文件夹osqa放在环境osqa下与bin,lib同一级。

参考

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics