【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/1872241http://virtualenvwrapper.readthedocs.org/en/latest/
http://www.virtualenv.org/en/latest/
相关文章推荐
- 打造一款属于自己的Android滑动器
- Android:Toast 弹出信息框
- unity GL画线
- iOS: 如何正确的绘制1像素的线
- Android Studio 1.2.2删除工程和令某一个工程作为lib的方法
- iOS字符串处理
- android学习笔记(1)TextView控件的学习
- Unity3D避免玩家作弊
- Android:ProgressBar 进度条
- Ubuntu14下搭建Android开发环境
- Android应用: 改变当前屏幕背光亮度
- Leetcode: Happy Number
- 第一个Android应用程序
- iOS开发之解析XML格式数据
- Android studio新建工程时报错:Gradle DSL method not found: 'android()'问题解决
- Android常用组件(View学习之一)
- Android 多文件夹相册 + 获取最近拍照分析
- 同一个activity中通过一个按钮切换两个不同的布局 分类: Android 2015-08-06 22:42 120人阅读 评论(0) 收藏
- Android - ListView在setAdapter()后,getChildCount总是0的原因
- Android shape drawable