在windows下使用多版本Python安装相应的虚拟开发环境
在windows下面使用多版本Python安装相应的虚拟开发环境
在搭建一个项目的时候,希望使用最新版的Python3.7版本,但是Python3.6的版本也要留下,那么问题来了,如何解决这个问题呢?如何在windows下面使用多版本Python安装指定版本的虚拟环境呢?这篇文章我就来解决这个问题。
多版本Python使用
去Python官网,下载自己想要的版本,我这里不演示Python的安装过程,但要说明的是你在安装的时候不要勾选那个Add pyhton to Path(当然如果你勾选了也没关系,前提是你要记得自己Python安装在哪个环境下面了)。我以自己安装了Python3.6.4和Python3.7.0这两个版本为例,开始介绍。
其中,我Python3.6的安装路径为:F:\Python\pystall,Python3.7的安装路径为:F:\Python3.7\python37。现在我在命令行输入Python出现的是:python3.6的版本:

打开系统变量的配置,点击path,发现我配置的路径是F:\Python\pystall,所以直接输入Python就是Python3.6的版本:

现在我们在刚才的系统变量的path里面增加Python3.7的安装路径:F:\Python3.7\python37,记得要把它放到之前环境的上面,因为系统查找Python环境是从上往下的:

然后退出dos命令,我们重新打开一下,在里面输入Python出现的是:python3.7的版本:

所以我们就完成了Python多版本的安装与使用,也就是说需要用到哪个版本的python就把它添加到系统的环境变量里面去。这里我删除了Python3.7的环境配置,只保留Python3.6的环境。
指定版本的虚拟环境的搭建
安装virtualenv
关于virtualenv的安装,我讲过很多次,这里就不再说明了,你可以点击这里:零基础使用Django2.0.1打造在线教育网站(二):开发环境配置按照要求进行安装,我是安装在了f:\python\pystall\lib\site-packages下面。我们先查看一下它的版本:
F:\Envs>virtualenv --version
15.2.0
安装Python3.6的虚拟环境
接下来我们就开始创建虚拟环境:我们先在F盘下面创建一个名为Envs的目录(实际上我已经创建好了),然后cd到这个目录,开始新建一个名为ttttest的虚拟环境:
F:\Envs>virtualenv ttttest
Using base prefix 'f:\\python\\pystall'
New python executable in F:\Envs\ttttest\Scripts\python.exe
Installing setuptools, pip, wheel...done.
F:\Envs>cd ttttest
F:\Envs\ttttest>cd scripts
F:\Envs\ttttest\Scripts>python
Python 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:54:40) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
然后cd到scripts目录,因为Python.exe就在这个目录里面,然后我们输入python,发现是python3.6,因为我前面说过了,我只保留了Python3.6的环境,你可以打开scripts这个目录,看到没有:

进入与退出虚拟环境的命令是activate.bat和deactivate.bat。
安装Python3.7的虚拟环境
和之前一样,我们还是在Envs这个目录下面,新建一个ttttest7的虚拟环境:
F:\Envs>virtualenv -p F:\Python3.7\python37\python.exe ttttest7
Running virtualenv with interpreter F:\Python3.7\python37\python.exe
Using base prefix 'F:\\Python3.7\\python37'
New python executable in F:\Envs\ttttest7\Scripts\python.exe
Installing setuptools, pip, wheel...done.
F:\Envs>cd ttttest7
F:\Envs\ttttest7>cd scripts
F:\Envs\ttttest7\Scripts>activate.bat
(ttttest7) F:\Envs\ttttest7\Scripts>python
Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:06:47) [MSC v.1914 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
看到没有,我们在后面指定了虚拟环境的Python版本,然后进入虚拟环境,运行Python发现就是Python3.7了,你可以打开这个目录下面的scripts:

所以看到这里你明白了了,用哪个虚拟环境就指定哪个Python环境。但是用virtualenv非常不方便,所以推荐使用virtualenvwrapper来进行虚拟环境的管理。
virtualenvwrapper的安装
这个virtualenvwrapper的安装非常简单,我们使用下面的命令安装即可:
F:\Envs>pip install virtualenvwrapper-win
Requirement already satisfied: virtualenvwrapper-win in f:\python\pystall\lib\site-packages (1.2.5)
Requirement already satisfied: virtualenv in f:\python\pystall\lib\site-packages (from virtualenvwrapper-win) (15.2.0)
因为我已经安装了,所以就是这个样子。然后可以使用workon命令查看当前已经存在的虚拟环境。如果我们需要新建虚拟环境可以使用mkvirtualenv xxx命令,这里建了一个testtt的虚拟环境:
F:\Envs>mkvirtualenv testtt
Using base prefix 'f:\\python\\pystall'
New python executable in C:\Users\lenovo\Envs\testtt\Scripts\python.exe
Installing setuptools, pip, wheel...done.
(testtt) F:\Envs>
不知道你发现没有,我们前面采用virtualenv命令所创建的虚拟环境是直接安装在你当前所在的目录的(你在哪个目录执行virtualenv命令,新建的虚拟环境就在那)。但是使用mkvirtualenv命令所创建的虚拟环境是在C:\Users\lenovo\Envs这个目录下面的,这是默认的安装路径,你可以自定义的。打开系统环境变量配置,我们新增WORKON_HOME然后路径就写F:Envs(自定义路径):

然后点击确定,现在我们重新打开一个dos,创建一个名为7ttttest的虚拟环境,我们看看它是不是安装在了F:Envs下面:
C:\Users\lenovo>mkvirtualenv 7ttttest
Using base prefix 'f:\\python\\pystall'
New python executable in F:\Envs\7ttttest\Scripts\python.exe
Installing setuptools, pip, wheel...done.
(7ttttest) C:\Users\lenovo>
然后找到F:Envs,发现确实在这里:

这样我们就完成了虚拟环境安装的自定义。
虚拟环境指定Python版本的命令就是mkvirtualenv -p python路径 虚拟环境名称(注意这个-p是不可以去掉的)。举个例子来说,我们需要在F:Envs目录下面新建一个名为test的Python版本为3.7的虚拟环境。通过分析,我们的WORKON_HOME就是F:Envs,所以这个不需要修改。然后我的Python3.7的安装路径为:F:\Python3.7\python37,所以我们采用的命令就是:
mkvirtualenv -p F:\Python3.7\python37\python.exe test
至此我们本篇关于windows下面使用多版本Python安装指定版本的虚拟环境的介绍就到此为止了,感谢你的赏阅!
在windows下使用多版本Python安装相应的虚拟开发环境的更多相关文章
- windows下Bullet 2.82编译安装(Bullet Physics开发环境配置)
平台:Win7,VS2010 1. Bullet库的组织 下图是Bullet_User_Manual中的截图: 从中可见,Bullet的LinearMath(线性数学模块),其上是BulletColl ...
- [z]Windows 下基于 Eclipse 的可视化远程 Linux C/C++ 开发环境搭建
http://blog.csdn.net/lostaway/article/details/8086056 1.简介 Windows 下远程 Linux 开发工具,比较著名的就是 WinGDB 和 M ...
- OSX编译安装Python3及虚拟开发环境Virtualenv
0X00.前言 因为工作原因,最近主要做Python开发,刚好电脑系统重装之后所有的东西都需要重新配置.此文主要记录OSX下通过源码编译安装Python3以及安装虚拟开发环境Virtualenv. 0 ...
- 在windows下用cygwin和eclipse搭建cocos2dx的android开发环境
在windows下用cygwin和eclipse搭建cocos2dx(2.1.4)的android开发环境,2013-8-1更新. 一.准备工作 需要下载和安装以下内容,请根据自己的操作系统选择x86 ...
- Windows下搭建远程Linux主机的图形化本地开发环境
在实际开发中,项目的类生产.生产环境一般都是选择Linux为服务器进行部署. 相应的,我们的开发最好也在Linux环境下进行,否则容易引发其他的问题,比如不同环境下功能不一致.库依赖差异等. 但是Li ...
- python笔记:配置虚拟开发环境
问题 有的时候开发不同的业务,所需要的环境不一样.一直在同一个环境中开发时候,不同的包版本升级可能会导致另外的业务不能正常工作.另外,有的github上的项目需要的开发环境与你使用的环境不同,冒然的按 ...
- 使用Anaconda3配置多版本Python虚拟开发环境
有时候,为了使用比较干净的开发环境,或者为了测试一些版本的扩展库,我们可能需要创建虚拟开发环境,在不同的虚拟开发环境中,只安装需要的扩展库,这样可以最大程度上减少不同扩展库之间的兼容性带来的冲突或其他 ...
- Windows下当地RabbitMQ服务的安装
Windows下本地RabbitMQ服务的安装 本文参考:刘若泽相关技术文档 当然这些内容页可以通过RabbitMQ官方网站获得. RabbitMQ配置说明手册 一.RaibbitMQ服务器配置 1. ...
- windows下使用python2.7.6 安装django
1) 安装python2.7.6 2) 由于 python2.7.6 中没有安装setuptools,需要先从官网下载setuptools,下载zip包然后解压,运行 python setup.py ...
随机推荐
- BZOJ4912 [Sdoi2017]天才黑客 【虚树 + 最短路】
题目链接 BZOJ4912 题解 转移的代价是存在于边和边之间的 所以把边看做点,跑最短路 但是这样做需要把同一个点的所有入边和所有出边之间连边 \(O(m^2)\)的连边无法接受 需要优化建图 膜一 ...
- sql知识收集
在SQL Server里面有top关键字可以很方便的取出前N条记录,但是Oracle里面却没有top的使用,类似实现取出前N条记录的简单方法如下: 方法1:利用ROW_NUMBER函数 取出前5条记录 ...
- [Coci2015]Kamp
Description 一颗树n个点,n-1条边,经过每条边都要花费一定的时间,任意两个点都是联通的. 有K个人(分布在K个不同的点)要集中到一个点举行聚会. 聚会结束后需要一辆车从举行聚会的这点出发 ...
- Python之旅:MySQL系列
第一篇:初识数据库 第二篇:库操作 第三篇:表操作 第四篇:数据操作 第五篇:索引原理与慢查询优化 第六篇:数据备份.pymysql模块 第七篇:视图.触发器.事务.存储过程.函数 第八篇:ORM框架 ...
- JavaScript中的两种全局对象
这里总结的东西特别适合先学习c/c++, Java这类标准语言再学JS的童鞋们看,因为JS在程序执行之前就会初始化一个全局对象,这个全局对象到底是什么是跟JS程序运行环境有关的. 根据JavaScri ...
- RAC手动中断订阅
__block RACDisposable* dispose = [[RACObserve(self, price) skip:1]subscribeNext:^(NSNumber* x) { [di ...
- 转载自知乎大神---this 的值到底是什么?一次说清楚
你可能遇到过这样的 JS 面试题: var obj = { foo: function(){ console.log(this) } } var bar = obj.foo obj.foo() // ...
- chrome 隐藏技能之 base64 图片转换
有时候我们要转换图片为base64,或者将base64转回图片,可能都需要找一些在线工具或者软件类型的工具才行.当然 chrome 也算是软件,但是好在做前端的都有 chrome.好了,来看下简单的例 ...
- iOS 根据生日得到生肖,星座,年龄的算法
根据用户生日,得到相应的年龄,星座和生肖.有的项目中可能会用到,贴出来共享. 得到年龄,这个很简单了: - (void)getAgeWith:(NSDate*)birthday{ //日历 NSCal ...
- Spring Boot实战系列-----------邮件发送
快速导航 添加Maven依赖 配置文件增加邮箱相关配置 Service.Test项目代码构建 五种邮件发送类型讲解 文本邮件 html邮件 附件邮件 html内嵌图片邮件 模板邮件 问题汇总 添加ma ...