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 --version15.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 ttttestF:\Envs\ttttest>cd scriptsF:\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.batdeactivate.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 ttttest7F:\Envs\ttttest7>cd scriptsF:\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-winRequirement 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安装指定版本的虚拟环境的介绍就到此为止了,感谢你的赏阅!

原文发布于微信公众号 - 啃饼思录(kbthinking)

原文发表时间:2018-10-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏冷冷

SpringMVC 文件下载时 浏览器不能正确显示另存的文件名

问题:通过打印输出流的方式把文件下载到本地,但是在firebox 中 下载的文件不显示文件的文件名,造成文件不能直接打开,其他浏览器可以直接打开. 原因: 主要...

2145
来自专栏F_Alex

SpringCloud-微服务的注册与发现Eureka(二)

13.6K4
来自专栏技术专栏

springcloud(四)-zuul网关与config统一配置(慕课网廖师兄SpringCloud微服务实战)

1.这里如果配置文件名称为application.xxx的话,会搞乱顺序,先找配置中心再找注册中心,这样会找不到,会导致去加载默认的8888,

1.1K3
来自专栏散尽浮华

Gitblit版本服务器环境部署记录

Gitblit介绍 Gitblit 是一个纯 Java 库用来管理、查看和处理 Git 资料库.相当于 Git 的 Java 管理工具,支持linux系统。 G...

3745
来自专栏全华班

springcloud学习手册-Hystrix(仪表盘说明)

导读 | 仪表盘 instrument board ? 一、Hystrix Dashboard 监控仪表盘 One of the main benefits o...

3724
来自专栏向治洪

使用Jenkins搭建Android自动打包环境

概述 Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括:持续的软件版本发布/测试项目;监控外部调用执行的工作。 对于我们...

43110
来自专栏张伟博客

CentOS 7下搭建配置SVN服务器

subversion默认以/var/svn作为数据根目录,可以通过/etc/sysconfig/svnserve修改这个默认位置。

2872
来自专栏杨熹的专栏

详解Mac配置虚拟环境Virtualenv,安装Python科学计算包

最近正在自学Python做科学计算,当然在很多书籍和公开课里最先做的就是安装Numpy, Scipy, Matplotlib等包,不过每次安装单独的包时,...

2968
来自专栏王磊的博客

react native一键分享功能实现&原理和注意点(支持微信、qq、新浪微博等)

前言 目前使用一键分享比较主流的两个SDK:ShareSDK、友盟; 又因为友盟功能比较多且比较全,比如说友盟统计、友盟推送等,所以本文重点介绍的是友盟分享功能...

5019
来自专栏程序猿DD

Spring Boot开发Web应用

《SpringBoot快速入门》 中我们完成了一个简单的RESTful Service,体验了快速开发的特性。在留言中也有朋友提到如何把处理结果渲染到页面上。那...

2126

扫码关注云+社区

领取腾讯云代金券