在我们开发项目时候经常需要安装各种pythong第三方包,如果都安装在系统上,可能会导致包管理比较混乱(例如我有两个不同版本的django项目),并且对于一名”洁癖”者来说,这是很难容忍的(开发环境混乱)。virtualenv/virtualenvwrapper就是为解决此问题(python包管理)而生的。
一、virtualenv
1、安装virtualenv
由于virtualenv是python的一个包,所以我们也可以用easy_install或pip进行安装,推荐python包都用pip安装和管理,以下是ubuntu的安装方法:
pip安装(推荐)
tab@zhu:~$ pip install virtualenv
easy_install安装
tab@zhu:~$ easy_install virtualenv
apt-get安装
tab@zhu:~$ apt-get install virtualenv
注:非管理员用户root时,以上三种安装方法均需在命令前加 sudo
(sudo pip install virtualenv
)
2、创建python的虚拟环境
使用virtualenv命令创建python虚拟环境:virtualenv [虚拟环境名称]
不指定python版本,默认使用系统中的python版本
tab@zhu:~$ virtualenv env1
New python executable in /home/tab/env1/bin/python
Installing setuptools, pip, wheel…done.
通过 --python或-P
指定python版本
tab@zhu:~$ virtualenv –python=/usr/bin/python3.4 env2
注:创建虚拟环境后,会在当前目录创建一个虚拟环境同名的文件夹
可以使用 which python
查看自己机器上python命令的路径,更多virtualenv的参数选项可以用 virtualenv --help
查看
3、启动虚拟环境
先进入虚拟环境的目录,然后用户 source
命令激活虚拟环境
tab@zhu:~$ cd env2
tab@zhu:env2$ source bin/activate
(env2) tab@zhu:env2$ python -V
Python 3.4.3
还记得上一步我创建虚拟环境env2是指定为python3版本吧。进入虚拟环境后,我们所安装的所有python包都会默认安装到虚拟环境中,从而可以避免各种包版本混乱管理难的问题,一个独立的干净的开发环境。
4、退出虚拟环境
用 deactivate
命令
(env2) tab@zhu:env2$ deactivate
5、删除虚拟环境:rm -rf [虚拟环境目录]
tab@zhu:~$ rm -rf env2
二、virtualenvwrapper
virtualenvwrapper是virtualenv的扩展管理包,可以更方便管理虚拟环境
A、将所有虚拟环境整合在一个目录下
B、管理(新增,删除,复制)虚拟环境
C、切换虚拟环境
1、安装(跟virtualenv中的安装方法相同)
tab@zhu:~$ pip install virtualenvwrapper
创建一个文件夹,用于存放所有的虚拟环境。
tab@zhu:~$ mkdir workspaces
设置环境变量
tab@zhu:~$ echo ‘export WORKON_HOME=$HOME/workspaces’ >> ~/.bashrc
tab@zhu:~$ echo ‘source /usr/local/bin/virtualenvwrapper.sh’ >> ~/.bashrc
2、创建虚拟环境:mkvirtualenv [虚拟环境名称]
tab@zhu:~$ mkvirtualenv env
创建后会自动切换到该虚拟环境
3、切换虚拟环境:workon [虚拟环境名]
tab@zhu:~$ workon env
(env) tab@zhu:~$
4、退出当前虚拟环境
(env) tab@zhu:~$ deactivate
tab@zhu:~$
5、删除虚拟环境:rmvirtualenv [虚拟环境名]
tab@zhu:~$ rmvirtualenv env
6、列出所有虚拟环境
tab@zhu:~$ lsvirtualenv -b
env
可以通过 virtualenvwrapper --help
查看所有的参数选项以及用法
virtualenv 官方文档
virtualenvwrapper 官方文档
注:在虚拟环境中安装的所有包都只对该虚拟环境起作用,起到很好的“隔离”,避免各种包版本的混乱