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 相关文章推荐
批量获取及验证HTTP代理的Python脚本
Apr 23 Python
python清除字符串中间空格的实例讲解
May 11 Python
Python爬虫小技巧之伪造随机的User-Agent
Sep 13 Python
win10 64bit下python NLTK安装教程
Sep 19 Python
pandas 条件搜索返回列表的方法
Oct 30 Python
浅谈Python反射 & 单例模式
Mar 21 Python
Python集中化管理平台Ansible介绍与YAML简介
Jun 12 Python
python爬取Ajax动态加载网页过程解析
Sep 05 Python
python安装和pycharm环境搭建设置方法
May 27 Python
Python3基于plotly模块保存图片表格
Aug 03 Python
python 基于Apscheduler实现定时任务
Dec 15 Python
Python 实现一个简单的web服务器
Jan 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
实时抓取YAHOO股票报价的代码
2006/10/09 PHP
PHP 日,周,月点击排行统计
2012/01/11 PHP
PHP学习笔记之php文件操作
2016/06/03 PHP
thinkphp自带验证码全面解析
2016/09/18 PHP
Laravel 实现关系模型取出需要的字段
2019/10/10 PHP
JavaScript 关键字屏蔽实现函数
2009/08/02 Javascript
jquery的键盘事件修改代码
2011/02/24 Javascript
Js 时间间隔计算的函数(间隔天数)
2011/11/15 Javascript
Javascript实现真实字符串剩余字数提示的实例代码
2013/10/22 Javascript
js获取url参数代码实例分享(JS操作URL)
2013/12/13 Javascript
javascript 按键事件(兼容各浏览器)
2013/12/20 Javascript
JavaScript定义类的几种方式总结
2014/01/06 Javascript
JavaScript中最容易混淆的作用域、提升、闭包知识详解(推荐)
2016/09/05 Javascript
ES6新数据结构Set与WeakSet用法分析
2017/03/31 Javascript
Angular实现的table表格排序功能完整示例
2017/12/22 Javascript
Angular实现的自定义模糊查询、排序及三角箭头标注功能示例
2017/12/28 Javascript
vue2.0之多页面的开发的示例
2018/01/30 Javascript
分析javascript原型及原型链
2018/03/18 Javascript
js代码实现轮播图
2020/05/04 Javascript
vue滑动吸顶及锚点定位的示例代码
2020/05/10 Javascript
vue中axios封装使用的完整教程
2021/03/03 Vue.js
Python httplib,smtplib使用方法
2008/09/06 Python
python计算一个序列的平均值的方法
2015/07/11 Python
Python利用带权重随机数解决抽奖和游戏爆装备问题
2016/06/16 Python
基于python的Tkinter编写登陆注册界面
2017/06/30 Python
详解pytorch 0.4.0迁移指南
2019/06/16 Python
python 函数中的参数类型
2020/02/11 Python
canvas实现圆形进度条动画的示例代码
2017/12/26 HTML / CSS
什么是Linux虚拟文件系统VFS
2012/01/31 面试题
手术室护士自我鉴定
2013/10/14 职场文书
物业管理毕业生个人的求职信
2013/11/30 职场文书
大学生职业生涯规划书前言
2014/01/09 职场文书
房屋买卖委托公证书
2014/04/08 职场文书
2015年中秋放假通知范文
2015/08/18 职场文书
golang DNS服务器的简单实现操作
2021/04/30 Golang
Django操作cookie的实现
2021/05/26 Python