您的位置:首页 > 移动开发

【python工具篇】virtualenv和virtualenvwrapper

2015-08-06 23:20 495 查看

virtualenv和virtualenvwrapper介绍

virtualenv 工具可以创建隔离的python环境

我们经常会遇到两个常见问题

版本依赖

间接许可

版本依赖:

1.假设有一个app,需要libfoo 1.0 的库,另一个app需要libfoo 2.0的库,如何才能把这两个库都安装到/usr/lib/python2.7/site-packages?

2. 当系统的库发生了变化,或许app就运行不了

间接许可

3. 当主机,我们没有root权限。

virtualenv 就能解这样的问题,它将创建一个单独的环境,库将安装到自己目录下,不会和其他环境共享。

由于virtualenv用起来有点麻烦,wrapper对它进行了封装,让它更好用,最终我们使用wrapper提供的命令,但是实际工作都是virtualenv做的。

安装

推荐使用pip安装

[code]pip install virutalenv virtualenvwrapper


virtualenv用法

创建环境

[code]virtualenv [虚拟环境名称] 
virtualenv test


默认创建的环境,是可以使用系统已经安装的包。

如果不想使用系统的包,加上–no-site-packeages参数

[code]virtualenv --no-site-packages test


这个时候会创建目录test

激活环境

[code]cd test
source ./bin/activate


此时,就进入了一个隔离的环境,安装,卸载和使用模块,都会在test环境中,而不会影响系统和其他环境。

退出环境

[code]deactive


virtualenvwrapper的用法

我们可以看到,创建的环境都是零散的,而且还要执行cd,执行source 来激活环境。

vw可以进行环境的管理,把创建的环境记录下来,并进行管理。

初始化

第一次安装完成后需要,先设置一个变量WORKON_HOME,它将作为所有环境的前缀,并且
source /usr/local/bin/virtualenvwrapper.sh


[code]$ mkdir -p $WORKON_HOME
$ export WORKON_HOME=~/Envs
$ source /usr/local/bin/virtualenvwrapper.sh


把export命令和source命令,加入到
~/.bash_profile
,就无需重复初始化了

创建环境

[code]mkvirtualenv env1

mkvirtualenv env2


环境创建之后,会自动进入该目录,并激活该环境。

切换环境

[code]workon env1

workon env2


列出已有环境

[code]workon


退出环境

[code]deactivate


删除环境

[code]rmvirtualenv


创建project

[code] 项目将创建到PROJECT_HOME目录下,实际上相当于在某个目录下,建了一个环境。

 mkproject


参考

http://liuzhijun.iteye.com/blog/1872241

http://virtualenvwrapper.readthedocs.org/en/latest/

http://www.virtualenv.org/en/latest/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: