python虚拟环境virtualenv的安装与使用
同一台服务器上部署多个项目时,项目可能使用不同版本的django或者其它不同的python库,这种情况下可以使用virtualenv来创建独立的python运行环境,将不同项目的运行环境隔离出来。
virtualenv可以创建一个拥有自己安装目录的环境, 能够方便的管理python版本和管理python库。
安装
pipinstallvirtualenv
创建环境
基本命令:
virtualenvENV
即在ENV目录创建了一个新的虚拟环境。
pip和setuptools已在虚拟环境中自动下载完毕,可以使用这些工具来下载python包。
下载的python包置于ENV/lib/pythonX.X/site-packages中。
当前使用的python解释器为ENV/bin/python。
激活与退出虚拟环境
激活命令:
$sourcebin/activate
退出虚拟环境:
$deactivate
删除虚拟环境
退出虚拟环境后删除目录即可:
(ENV)$deactivate $rm-r/path/to/ENV
继承全局python库
使用以下命令可以创建继承使用/usr/lib/python2.7/site-packages下的python全局库的虚拟环境
virtualenv--system-site-packagesENV
不使用虚拟环境中的python解释器
如果不想或者不能使用虚拟环境中的python解释器bin/python,需要修改使用的python库的路径。
bin目录下有一个文件activate_this.py:
"""Byusingexecfile(this_file,dict(__file__=this_file))youwill activatethisvirtualenvenvironment. ThiscanbeusedwhenyoumustuseanexistingPythoninterpreter,not thevirtualenvbin/python """
更改路径:
activate_this='/path/to/env/bin/activate_this.py' execfile(activate_this,dict(__file__=activate_this))
生成可打包的环境
$virtualenv--relocatableENV
指定python版本
-pPYTHON_EXE,--python=PYTHON_EXE:指定生成的虚拟环境的python版本
virtualenv-p/usr/bin/python2.7env
uwsgi中使用virtualenv
部署django项目时,可以使用uwsgi的几个选项来指定项目使用的虚拟环境,--home,--virtualenv,--venv,--pyhome选项,都可简写为-H。
在uwsgi配置文件中添加virtualenv =