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中的进程分支fork和exec详解
Apr 11 Python
Python实现遍历数据库并获取key的值
May 17 Python
Python如何快速实现分布式任务
Jul 06 Python
Python实现识别手写数字大纲
Jan 29 Python
python3+PyQt5重新实现自定义数据拖放处理
Apr 19 Python
不知道这5种下划线的含义,你就不算真的会Python!
Oct 09 Python
python实现推箱子游戏
Mar 25 Python
python_opencv用线段画封闭矩形的实例
Dec 05 Python
jupyter lab的目录调整及设置默认浏览器为chrome的方法
Apr 10 Python
Win10用vscode打开anaconda环境中的python出错问题的解决
May 25 Python
Python读写锁实现实现代码解析
Nov 28 Python
Pytest中skip skipif跳过用例详解
Jun 30 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
在线增减.htpasswd内的用户
2006/10/09 PHP
Ajax PHP简单入门教程代码
2008/04/25 PHP
使用 PHPMAILER 发送邮件实例应用
2012/11/07 PHP
分享五个PHP7性能优化提升技巧
2015/12/07 PHP
学习PHP的数组总结【经验】
2016/05/05 PHP
javascript之对系统的toFixed()方法的修正
2007/05/08 Javascript
js 全兼容可高亮二级缓冲折叠菜单
2010/06/04 Javascript
用js来解决ajax读取页面乱码
2010/11/28 Javascript
jQuery写的日历(包括日历的样式及功能)
2013/04/23 Javascript
JavaScript实现图片DIV竖向滑动的方法
2015/04/25 Javascript
javascript 内置对象及常见API详细介绍
2016/11/01 Javascript
jQuery实现动态文字搜索功能
2017/01/05 Javascript
Vue声明式渲染详解
2017/05/17 Javascript
移动端H5页面返回并刷新页面(BFcache)的方法
2018/11/06 Javascript
websocket4.0+typescript 实现热更新的方法
2019/08/14 Javascript
Python中对列表排序实例
2015/01/04 Python
Python合并字典键值并去除重复元素的实例
2016/12/18 Python
Python实现压缩和解压缩ZIP文件的方法分析
2017/09/28 Python
Pandas 数据框增、删、改、查、去重、抽样基本操作方法
2018/04/12 Python
PyQt5实现下载进度条效果
2018/04/19 Python
Django REST framework 单元测试实例解析
2019/11/07 Python
python getopt模块使用实例解析
2019/12/18 Python
Python第三方包之DingDingBot钉钉机器人
2020/04/09 Python
Python3批量创建Crowd用户并分配组
2020/05/20 Python
Python 执行矩阵与线性代数运算
2020/08/01 Python
Django搭建项目实战与避坑细节详解
2020/12/06 Python
css3弹性盒模型(Flexbox)详细介绍
2014/10/08 HTML / CSS
Ellos瑞典官网:北欧地区时尚、美容和住宅领域领先的电子商务网站
2019/11/21 全球购物
int *p=NULL和*p= NULL有什么区别
2014/10/23 面试题
临床医学大学生求职信
2013/09/28 职场文书
商务日语专业毕业生求职信
2013/10/26 职场文书
理想点亮人生演讲稿
2014/05/21 职场文书
学生自我鉴定格式及范文
2014/09/16 职场文书
2015年家长学校工作总结
2015/04/22 职场文书
2016年暑期社会实践活动总结报告
2016/04/06 职场文书
数据库的高级查询六:表连接查询:外连接(左外连接,右外连接,UNION关键字,连接中ON与WHERE的不同)
2021/04/05 MySQL