我曾经写过一篇 virtualenv 的博客: 总体来讲还是适用的,不过稍微傻了一点。这一篇的内容有两个:首先是对上一篇进行两点补充,然后是介绍一个新的玩具——virtualenvwrapper。
关于上一次介绍 virtualenv 的补充:
1、virtualenv 目录不需要拷贝两份到 / usr/local 中,只需要拷贝一份即可,然后把里面的 virtualenv.py 文件拷贝一份,放在同一目录下,改名为 virtualenv3.py;内容的改法和软链接的建立就跟之前一样了。
2、其实更正确的姿势是,使用 - p 选项控制 python 的版本
- virtualenv -p /usr/bin/python2.7 env
这样就建立了一个 python2.7 环境的虚拟环境 env。
3、我曾见过这样一种情况,在本机已经安装过某个库,在虚拟环境中就无法再安装了,会报错。但是虚拟环境中又没有安装这个库,不能直接使用。解决办法是,加个开关
- virtualenv env --no-site-packages
这样就能把本机环境中的库全部引入虚拟环境中。在虚拟环境中可以进行库的升级,而不会影响本机中原来库的版本(黑魔法简直帅到飞起)。
好了,下面开始介绍 virtualenvwrapper。这个东西是 virtualenv 的扩展工具,可以方便地管理和使用不同的虚拟环境。安装过程很简单
- sudo easy_install virtualenvwrapper
这么一行命令即可。安装好之后,在 / usr/local/bin/virtualenvwrapper.sh 中写着 virtualenvwrapper 的使用方法。。。当然,看英文还有点麻烦,我简单地说一下:
首先在 $HOME 下创建一个隐藏目录
- mkdir $HOME/.virtualenvs
然后打开~/.bashrc 文件,在结尾添加两行
- export WORKON_HOME=$HOME/.virtualenvs
- source /usr/local/bin/virtualenvwrapper.sh
然后执行
- source ~/.bashrc
之后 virtualenvwrapper 就设置好了。之后,可以使用 workon 命令查看下当前 virtualenvwrapper 中的虚拟环境列表。。。啥也没出来对吧,不用懵逼,还没使用 virtualenvwrapper 来建立虚拟环境,当然没有列表了。
接下来可以使用
- mkvirtualenv env
来创建一个虚拟环境。再用 workon 命令看看,是不是已经有一个名为 env 的虚拟环境了?
那么,接下来要怎么使用呢?更简单了。
- workon env
这样就进入了这个虚拟环境中了。接下来就可以尽情的 pip 了。要退出的话,还是正常的 deactivate 命令。
如果要删除这个虚拟环境,使用
- rmvirtualenv env
即可。
同样滴,在使用 mkvirtualenv 命令的时候,用 - p 选项可以指定使用哪一个 python 环境。
virtualenvwrapper 的好处是,把虚拟环境全局管理起来了,不用针对每个项目建立。同一类项目可以建立同样的虚拟环境,也不用管它在哪,直接一个 workon 就可以。
还是那句话,等你用 python 开发项目多了,就知道虚拟环境有多重要了。不会使用的话,一定会被各种环境恶心吐的。
来源: http://www.bubuko.com/infodetail-1955149.html