在Windows下同时安装Python2.x和Python3.x

作者:荒原之梦

前言:

Python现在是两个版本共存,Python2.x和Python3.x都同时在更新。但是Python2.x和Python3.x的区别还是很多的(以后我可能会写一篇文章列举一下Python2.x和Python3.x的具体区别)。如果是刚开始学习Python的话,那么使用Python3.x更好,但是目前(2017年10月8日)很多服务(例如SQLMap)依赖的Python环境都是Python2.x才能提供的,为了解决这个问题我们可以同时安装两个版本的python,即把python2.x和python3.x都安装上,在使用过程中根据需要调用不同的Python环境。

操作环境:

Python-2.7.14

Python-3.6.3

Windows10专业版

操作前的准备:

在安装Python2.x和Python3.x之前,我们需要在磁盘根目录下建一个文件夹,命名为“Python”,在Python文件夹下面再建两个文件夹,分别命名为“Python2”和“Python3”。其实这么做不是必须的,只是将Python2.x和Python3.x分别对应安装在这两个路径下会方便我们今后寻找(需要注意的是,Python的安装路径中不允许有空格,如果在你的安装路径中一定要将不同单词分隔开来的话,可以使用大小写字母区分,或者使用下划线“_”。另外,安装路径中最好不要出现中文)。

Python的官网地址:https://www.python.org/

Python官网上提供有Python2.x和Python3.x for Windows的下载。其中Python2.x是以Microsoft Installer(微软格式安装包)的形式提供的,文件后缀为.msi,Python3.x是以.exe可执行程序的形式提供的,安装的第一步都是双击运行。

一、安装Python2.x

双击之后就是按照提示点击就可以了,都是常规的安装方法。唯一需要改动的地方就是变一下安装路径,方便我们下一步的配置Path环境变量。

配置环境变量:

a.Windows上Python Path环境变量配置

此电脑->右键属性->高级系统设置->环境变量->系统变量->Path:

在Windows下同时安装Python2.x和Python3.x
图 1

之后编辑环境变量,将Python2.x的安装目录粘贴上,一路点击确定就完成了Python2.x的Path环境变量配置:

在Windows下同时安装Python2.x和Python3.x
图 2 可以看到Windows10的Path环境变量是分栏显示的
在Windows下同时安装Python2.x和Python3.x
图 3

b.Win/8.1/8/7/XP上Python Path环境变量配置

Win/8.1/8/7/XP配置环境变量的操作都比较类似,而且和在Windows10上的步骤也相似(下面的Path环境变量截图使用的是Windows7):

计算机->右键属性->高级系统设置->环境变量->系统变量->Path:

之后编辑Path环境变量。不过这里需要注意的是,由于Win/8.1/8/7/XP的环境变量并没有像Windows10一样分栏显示,因此再添加Path环境变量时不要忘记用英文分号“;”将新添加的环境变量与原有的环境变量分隔开:

在Windows下同时安装Python2.x和Python3.x
图 4

配置好环境变量后重更新打开DOS窗口(可以用cmd,也可以用powershell,但一定要是配置好环境变量后重新打开的,不能用配置好环境变量之前打开的DOS窗口)输入python即可检查Python是否安装成功:

在Windows下同时安装Python2.x和Python3.x
图 5

二、安装Python3.x

Python3.x已经不需要我们在手动配置环境变量,我们只需要在安装时做一些调整,改默认安装路径到我们刚才建立的Python3文件夹里就可以了。关于如何在电脑里安装Python3.x,可以查看我之前的一篇博文Python基础之Windows下Python3.x环境搭建.

三、区分Python2.x和Python3.x

在Python2.x和Python3.x的安装路径里都有一个名为python.exe的文件(下图所示为Python3.x安装目录里的python.exe):

在Windows下同时安装Python2.x和Python3.x
图 6

为了能根据我们的需求调用不同的Python环境,我们需要在安装目录里把python.exe改名,只改Python2.x和Python3.x的其中一个就可以了(为了运行sqlmap不要把python2.x 的python.exe文件改名成python2.exe,这样做会使sqlmap在调用python2.x的时候显示拒绝访问,直接用原名称python.exe即可)但是卸载时需要把名字改回来,否则会报错,无法卸载。

我把Python3.x的python.exe重命名为python3.exe,Python2.x的python.exe保持不变,这样我在DOS窗口A输入” python3”就调用了Python3.x:

在Windows下同时安装Python2.x和Python3.x
图 7

在另一个DOS窗口B(不能和刚才DOS窗口A是一个窗口)输入python就调用了Python2.x:

在Windows下同时安装Python2.x和Python3.x
图 8