转载地址:https://zhuanlan.zhihu.com/p/21261875
Python中Python 2与Python 3的关系一直很让人头疼,本文主要讲述如何在Windows系统中配置两个版本共存的环境。
随着越来越多的人使用Python 3,很多程序都在考虑移植到Python 3,一个共存的环境非常必要。
而另一方面,许多程序目前却也仅有Python 2的版本,让安装Python 3的用户使用非常不方便,日常使用也需要一个共存的环境。
虽然官方给出了py.exe的解决方案,但具体的配置可能还需要一定的普及与指导。
希望本文能够一定程度上减少Python的版本问题给你带来的困扰。
流程介绍
- 安装两个版本的Python
- 修改注册表、环境变量
- pip及命令行第三方包的使用
安装两个版本的Python
简单而言,你可以在任意位置安装这两个版本的Python。
但是出于寻找的便利以及写教程的方便,这里还是给出一个个人较为喜欢的安装位置。
C:\
Python\
Launcher\
py.exe
Python27\
python.exe
Python35\
python.exe
Launcher即Python35在安装时会询问的是否安装的启动器。
修改注册表、环境变量
如果你本身Python27、Python35的位置就是如上面文件树所述,那么可以跳过本节。
如果你修改了Python27的位置,那么你需要在启动regedit(使用Win + R启动),修改注册表:
- 找到HKEY_CURRENT_USER和HKEY_LOCAL_MACHINE下的\SOFTWARE\Python\PythonCore\version\PythonPath键
- 将其中的所有内容修改为对应的新位置,如果只有一个键,那么只修改一个键
如果你修改了Python35的位置,那么最简单的方法就是卸载重新装在新的位置。
之后我们需要将py.exe所在的目录加入环境变量,使我们可以在命令行使用py命令。
到此你已经可以正常的使用两个版本的Python了。
# 使用默认版本的Python
py
# 使用Python 27
py -2
# 使用Python 35
py -3
你也可以通过在文件头部指定Python版本:
#! python3
pip及命令行第三方包的使用
有通过增加环境变量或者使用批处理文件使用pip的方法,但都会有一些问题,这里推荐直接使用如下命令:
py -m pip install itchat
# 指定特定版本的pip
py -3 -m pip install itchat
做好上述配置以后会发现第三方包的命令行工具不能用了,这是因为我们需要做两件事情:
- 将C:\Python\Python27\Scripts和C:\Python\Python35\Scripts加入Path环境变量
- 重装第三方包的命令工具
这样的情况下如果两个版本都有同名的命令行工具会优先使用Python27的命令行工具。
- 如果需要更改默认,将C:\Python\Python35\Scripts放在前即可
- 或者直接使用直接路径