virtualenv工具介绍
在我们日常Python项目开发中,比如除了基于Flask的项目外,还会有其他项目用到Python。当项目越来越多时就会面对使用Python的不同版本问题,或者至少会遇到使用不同版本的Python库的问题。摆在你面前的是:库常常不能向后兼容,更不幸的是任何成熟的应用都不是零依赖。如果两个项目依赖出现冲突,就会比较麻烦。
而virtualenv就可以用来解决Python多版本环境的问题。它的基本原理是为每个项目安装一套Python,多套Python并存。但它不是真正地安装多套独立的Python拷贝,而是使用了一种巧妙的方法让不同的项目处于各自独立的环境中。
virtualenv的使用
(1)virtualenv的安装
执行pip install virtualenv或easy_install virtualenv或apt-get install python-virtualenv(Ubuntu系统中)命令即可安装virtualenv。
(2)virtualenv的使用
执行virtualenv my-env创建一个名称为my-env的Python虚拟环境。
执行source my-env/bin/activate命令激活my-env Python虚拟环境,并进入Python虚拟环境,然后可以干各种操作。注意这时终端提示符有变化,但是可以切换到任何目录中执行,而不局限于在my-env目录中。
执行deactivate命令,即可退出my-env Python虚拟环境,需要注意的是,virtualenv虚拟环境退出后,在虚拟环境中启动的服务进程,并不会退出哦。
备注:
我们在创建Python虚拟环境时,可以指定虚拟环境要使用的Python版本,命令如下(使用-p参数指明Python解释器的路径就好了):
1 | virtualenv -p /usr/bin/python2.7 ENV2.7 #创建python2.7的虚拟环境 |
virtualenvwrapper工具介绍
virtualenvwrapper是virtualenv的扩展管理包,用于更方便管理虚拟环境,它可以做:
(1)将所有虚拟环境整合在一个目录下
(2)管理(新增,删除,复制)虚拟环境
(3)切换虚拟环境
与virtualenv相比,virtualenvwrapper将虚拟环境创建出现的文件统一管理,对用户更友好。而且virtualenvwrapper提供了更多好用的工具,如workon。在virtualenv中,我们需要切换到虚拟环境的目录并执行source env-name/bin/activate命令,才能进入虚拟环境。而使用virtualenvwrapper,我们可以在任意目录下执行workon env-name就可以激活或进入到虚拟环境中。
virtualenvwrapper的安装配置和使用
(1)执行pip install virtualenv virtualenvwrapper命令安装virtualenv和virtualenvwrapper工具。
(2)配置virtualenvwrapper
在~/.bashrc中添加下列内容:
1 | export WORKON_HOME=$HOME/.virtualenvs |
接着执行source ~/.bashrc命令使之生效。最终利用virtualenvwrapper创建的虚拟环境相关的文件目录都放入到WORKON_HOME这个环境变量所指定的目录中。
(3)virtualenvwrapper的常用工具命令
1 | mkvirtualenv [环境名] #创建基本环境,也可以通过-p /usr/bin/python3.4等参数来指定虚拟环境中python版本 |