部署python项目的多虚拟环境
使用virtualenv包及virtualenvwrapper包管理工具来管理虚拟环境
这里部署环境为centos7 ,python2.7及python3.4已安装完成,后面部署多虚拟环境会分别用到不同的python环境
1、首先安装virtualenv工具
#centos版本为centos7 [root@linux-node1 ~]# uname -r 3.10.0-514.el7.x86_64 #安装virtualenv工具 [root@linux-node1 ~]# pip install virtualenv
2.通过virtualenv工具创建虚拟环境
#创建一个虚拟环境为py_flask2 ,virtualenv后面直接跟虚拟环境名称,表示使用python2环境 [root@linux-node1 ~]# virtualenv py_flask2 #激活py_flask2虚拟环境 [root@linux-node1 ~]# source py_flask2/bin/activate #下面命令行表示进入了虚拟环境 (py_flask2) [root@linux-node1 ~]# #查看python的环境使用的哪个环境,从下面得知使用的是虚拟环境自身的python环境 #和系统自带的python环境隔离的 (py_flask2) [root@linux-node1 ~]# which python /root/py_flask2/bin/python
3.通过virtualenv工具来管理虚拟环境不是很方便,接下来通过virtualenvwrapper工具来管理虚拟环境
首先安装virtualenvwrapper工具包,并且在家目录中创建虚拟环境的隐藏目录 .virtualenvs
[root@linux-node1 ~]# pip install virtualenvwrapper [root@linux-node1 ~]# mkdir $HOME/.virtualenvs #将这个隐藏的虚拟环境目录添加到环境变量中 [root@linux-node1 ~]# vim /etc/profile export WORKON_HOME=$HOME/.virtualenvs #由于安装完virtualenvwrapper后会产生一个virtualenvwrapper.sh脚本 #这个脚本生成的路径对于各个操作系统而言会有不同,所以先查看这个脚本位置 [root@linux-node1 ~]# find / -name virtualenvwrapper.sh /usr/bin/virtualenvwrapper.sh #执行这个脚本 [root@linux-node1 ~]# source /usr/bin/virtualenvwrapper.sh #使环境变量生效 [root@linux-node1 ~]# source /etc/profile
4.通过virtualenvwrapper工具来创建虚拟环境
创建基于Python2的虚拟环境
[root@linux-node1 ~]# mkvirtualenv flask_py2 #查看python的路径为虚拟目录中创建的虚拟环境中的python (flask_py2) [root@linux-node1 ~]# which python /root/.virtualenvs/flask_py2/bin/python #退出虚拟环境 (flask_py2) [root@linux-node1 ~]# deactivate
创建基于python3的虚拟环境
#创建基于python3的虚拟环境,使用mkvirtualenv命令后加参数 -p python3 最后跟虚拟环境名称 [root@linux-node1 ~]# mkvirtualenv -p python3 flask_py3 #查看创建的虚拟环境中python的版本为python3 (flask_py3) [root@linux-node1 ~]# which python /root/.virtualenvs/flask_py3/bin/python (flask_py3) [root@linux-node1 ~]# /root/.virtualenvs/flask_py3/bin/python -V Python 3.4.9 #退出当前的虚拟环境 (flask_py3) [root@linux-node1 ~]# deactivate #查看当前系统中创建了哪些虚拟环境使用:workon 两次tab键。 [root@linux-node1 ~]# workon flask_py flask_py2 flask_py3 #使用workon 虚拟环境的名称,进入到选择的虚拟环境中 [root@linux-node1 ~]# workon flask_py3 (flask_py3) [root@linux-node1 ~]# #列出当前环境安装了的包,使用lssitepackages 命令 (flask_py3) [root@linux-node1 ~]# lssitepackages easy_install.py pkg_resources setuptools-40.6.3.dist-info pip __pycache__ wheel pip-18.1.dist-info setuptools wheel-0.32.3.dist-info #如果确认一个虚拟环境不再使用,使用deactivate先退出虚拟环境, #然后使用rmvirtualenv 虚拟环境名称 [root@linux-node1 ~]# rmvirtualenv flask_py3
当然还有其他命令操作如下:
mkproject mic:创建mic项目和运行环境mic mktmpenv:创建临时运行环境 lsvirtualenv: 列出可用的运行环境
注意事项:当设备重启后,无法使用workon 工具来管理虚拟环境的话,记得要执行下source /usr/bin/virtualenvwrapper.sh,来重新加载管理虚拟环境的工具。。。。
浙公网安备 33010602011771号