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 相关文章推荐
Django模板变量如何传递给外部js调用的方法小结
Jul 24 Python
django 修改server端口号的方法
May 14 Python
python+pyqt5实现图片批量缩放工具
Mar 18 Python
基于python实现的百度音乐下载器python pyqt改进版(附代码)
Aug 05 Python
python按行读取文件并找出其中指定字符串
Aug 08 Python
详解Python list和numpy array的存储和读取方法
Nov 06 Python
python 实现让字典的value 成为列表
Dec 16 Python
tensorflow模型文件(ckpt)转pb文件的方法(不知道输出节点名)
Apr 22 Python
python中取绝对值简单方法总结
Jul 24 Python
Python实现一个优先级队列的方法
Jul 31 Python
利用django创建一个简易的博客网站的示例
Sep 29 Python
解决TensorFlow训练模型及保存数量限制的问题
Mar 03 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 数组的创建、调用和更新实现代码
2009/03/09 PHP
JS 网站性能优化笔记
2011/05/24 PHP
PHP中数组的三种排序方法分享
2012/05/07 PHP
迁移PHP版本到PHP7
2015/02/06 PHP
Laravel框架中实现使用阿里云ACE缓存服务
2015/02/10 PHP
PHP判断json格式是否正确的实现代码
2017/09/20 PHP
Centos7 Yum安装PHP7.2流程教程详解
2019/07/02 PHP
Yii框架where查询用法实例分析
2019/10/22 PHP
CentOS7系统搭建LAMP及更新PHP版本操作详解
2020/03/26 PHP
js 字符串操作函数
2009/07/25 Javascript
jquery last-child 列表最后一项的样式
2010/01/22 Javascript
jquery 新浪网易的评论块制作
2010/07/01 Javascript
原生js的弹出层且其内的窗口居中
2014/05/14 Javascript
对 jQuery 中 data 方法的误解分析
2014/06/18 Javascript
JavaScript实现从数组中选出和等于固定值的n个数
2014/09/03 Javascript
原生js实现类似弹窗抖动效果
2015/04/02 Javascript
jQuery实现的经典滑动门效果
2015/09/22 Javascript
跟我学习javascript的Date对象
2015/11/19 Javascript
详解微信小程序开发之下拉刷新 上拉加载
2016/11/24 Javascript
js原生日历的实例(推荐)
2017/10/31 Javascript
BootStrap TreeView使用实例详解
2017/11/01 Javascript
解决vue.js 数据渲染成功仍报错的问题
2018/08/25 Javascript
Layui之table中的radio在切换分页时无法记住选中状态的解决方法
2019/09/02 Javascript
关于vue项目中搜索节流的实现代码
2019/09/17 Javascript
javascript设计模式 ? 工厂模式原理与应用实例分析
2020/04/09 Javascript
介绍Python中的fabs()方法的使用
2015/05/14 Python
python学习之第三方包安装方法(两种方法)
2015/07/30 Python
Python的Django应用程序解决AJAX跨域访问问题的方法
2016/05/31 Python
简单了解python 邮件模块的使用方法
2019/07/24 Python
Python常用base64 md5 aes des crc32加密解密方法汇总
2020/11/06 Python
关联、聚合(Aggregation)以及组合(Composition)的区别
2012/02/29 面试题
使用Vue.js和MJML创建响应式电子邮件
2021/03/23 Vue.js
元旦联欢晚会主持词
2015/07/01 职场文书
2016年幼儿园教师师德承诺书
2016/03/25 职场文书
选择比努力更重要?这是长期以来对“努力”的最大误解
2019/07/12 职场文书
Python Pandas pandas.read_sql函数实例用法
2021/06/21 Python