virtualenv实现多个版本Python共存


Posted in Python onAugust 21, 2017

virtualenv创建一个拥有自己安装目录的环境, 这个环境不与其他虚拟环境共享库, 能够方便的管理python版本和管理python库。主要解决不同项目之间环境冲突的问题。

小技巧

某些开发包在下载的时候会出现下载错的的情况,如果配置国内镜像下载,那么出错的几率将会大大降低。使用镜像源很简单,用-i指定就行了:

sudo pip install -i https://pypi.douban.com/simple/ saltTesting

例如现在需要安装django环境

virtualenv实现多个版本Python共存

virtualenv使用

如果需要卸载django可以使用pip uninstall django

virtualenv基本使用 安装之后需要新建virtualenv的独立环境,具体可以查看其帮助命令:

virtualenv实现多个版本Python共存

基本命令

常用的参数有:

-p:指定一个版本python环境;通常当你的系统中安装了多个python版本时会用到;默认情况下virtualenv会优先选取它的宿主python环境,即它安装在那个python版本下就会默认选择哪个版本作为默认python隔离环境。
--no-site-packages:不使用系统环境的python安装包,即隔离包中不能使用真实python环境的安装包;当前版本这个选项是默认的。
--system-site-packages:与上面相反,使隔离环境能访问系统环境的python安装包
--distribute:copy一个python环境的分支,默认会安装setup、pip、wheel等基础模块

virtualenv test,使用该命令在指定的路径下创建Python环境,默认与系统环境一致。如果想要进入该虚拟环境则要进入test/Scripts/文件夹下,运行activate.bat,在Linux下在bin目录下,运行命令为source xx/xx/activate退出命令为deactivate.bat

virtualenv实现多个版本Python共存

指定其他Python环境virtualenv -p C:\Python27\python2.exe py2

快捷配置

基于virtualenv的虚拟环境管理工具

pip install virtualenvwrapper-win

安装完成后配置环境变量,如图所示。

virtualenv实现多个版本Python共存
WORKONHOME

之后可以用workon展示虚拟环境,mkvirtualenv xx创建虚拟环境,workon xxx进入虚拟环境

其它

  1. 使用pip安装时可能提示找不到一些文件,可以到这里来查找whl文件,主要针对Windows用户file,下载后进入虚拟环境使用pip安装即可使用
  2. mkvirtualenv创建其它版本的虚拟环境,mkvirtualenv --python=C:\Python27\python2.exe py2scrapy
  3. linux下安装virtualenvwrapper后需要配置,先find查找virtualenvwrapper.sh

virtualenv实现多个版本Python共存
修改配置文件

virtualenv实现多个版本Python共存
修改内容

virtualenv实现多个版本Python共存
重新加载配置

Python 相关文章推荐
Python 调用DLL操作抄表机
Jan 12 Python
django 2.0更新的10条注意事项总结
Jan 05 Python
浅谈numpy数组中冒号和负号的含义
Apr 18 Python
基于python历史天气采集的分析
Feb 14 Python
详解PyCharm+QTDesigner+PyUIC使用教程
Jun 13 Python
Python通用函数实现数组计算的方法
Jun 13 Python
详解PANDAS 数据合并与重塑(join/merge篇)
Jul 09 Python
python模拟键盘输入 切换键盘布局过程解析
Aug 15 Python
Python-Flask:动态创建表的示例详解
Nov 22 Python
Python递归函数特点及原理解析
Mar 04 Python
Python使用sqlite3模块内置数据库
May 07 Python
django 模型字段设置默认值代码
Jul 15 Python
基于Python对象引用、可变性和垃圾回收详解
Aug 21 #Python
python 垃圾收集机制的实例详解
Aug 20 #Python
python 实现tar文件压缩解压的实例详解
Aug 20 #Python
详解Python 序列化Serialize 和 反序列化Deserialize
Aug 20 #Python
Python中input与raw_input 之间的比较
Aug 20 #Python
Python 基础教程之str和repr的详解
Aug 20 #Python
Python实现爬取需要登录的网站完整示例
Aug 19 #Python
You might like
php录入页面中动态从数据库中提取数据的实现
2006/10/09 PHP
smarty 缓存控制前的页面静态化原理
2013/03/15 PHP
测试php函数的方法
2013/11/13 PHP
php读取富文本的时p标签会出现红线是怎么回事
2014/05/13 PHP
Linux中为php配置伪静态
2014/12/17 PHP
php中实现可以返回多个值的函数实例
2015/03/21 PHP
php提取身份证号码中的生日日期以及验证是否为成年人的函数
2015/09/29 PHP
Zend Framework入门应用实例详解
2016/12/11 PHP
PHP数组实际占用内存大小原理解析
2020/12/11 PHP
CSS心形加载的动画源码的实现
2021/03/09 HTML / CSS
给Function做的OOP扩展
2009/05/07 Javascript
jQuery实现视频作为全屏幕背景
2014/12/18 Javascript
JavaScript设计模式之工厂方法模式介绍
2014/12/28 Javascript
模仿password输入框的实现代码
2016/06/07 Javascript
js事件源window.event.srcElement兼容性写法(详解)
2016/11/25 Javascript
打造通用的匀速运动框架(实例讲解)
2017/10/17 Javascript
node.js中路由,中间件,ge请求和post请求的参数详解
2017/12/26 Javascript
vue中简单弹框dialog的实现方法
2018/02/26 Javascript
Vue 权限控制的两种方法(路由验证)
2019/08/16 Javascript
[04:01]2014DOTA2国际邀请赛 TITAN告别Ohaiyo期望明年再战
2014/07/15 DOTA
用Python的pandas框架操作Excel文件中的数据教程
2015/03/31 Python
为Python的web框架编写前端模版的教程
2015/04/30 Python
介绍Python的Urllib库的一些高级用法
2015/04/30 Python
利用Python求阴影部分的面积实例代码
2018/12/05 Python
在python中利用opencv简单做图片比对的方法
2019/01/24 Python
树莓派动作捕捉抓拍存储图像脚本
2019/06/22 Python
python识别图像并提取文字的实现方法
2019/06/28 Python
简单了解python单例模式的几种写法
2019/07/01 Python
在spyder IPython console中,运行代码加入参数的实例
2020/04/20 Python
CSS3实现王者匹配时的粒子动画效果
2019/04/12 HTML / CSS
欧洲最大的滑雪假期供应商之一:Sunweb Holidays
2018/01/06 全球购物
《社戏》教学反思
2014/04/15 职场文书
科长竞聘演讲稿
2014/05/16 职场文书
升职感谢信
2015/01/22 职场文书
趣味运动会新闻稿
2015/07/17 职场文书
Java方法重载和方法重写的区别到底在哪?
2021/06/11 Java/Android