在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.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 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安装指定版本的虚拟环境的介绍就到此为止了,感谢你的赏阅!

posted @ 2019-01-26 18:19  中国人醒来了  阅读(665)  评论(0编辑  收藏  举报