Windows下多版本Python共存方案

作者: flappyBug | 来源:发表于2017-03-10 18:49 被阅读0次

    一个月前重装了电脑,装了个Python,版本已经是3.6.0。昨天装了个pyinstaller库打包Python应用的时候,发现这个库只支持到3.5.X,于是就有了在一个系统上安装多个Python版本的需求,Python 2在使用上和Python 3差异还是相当大的,所以本文探讨的也就是Windows下多个Python 3版本的共存方案。理想的效果是能在控制台中指定使用的是哪个Python版本以及指定pip工具对哪个Python版本生效,互不干扰。


    下载安装

    这步没什么好说明的,为了在控制台中使用Python和pip,你还是需要在安装的时候选择添加到path路径,以及安装pip工具。我这次装了个x86的Python 3.5.3,所以安装好后我的path是这样的:

    Paste_Image.png
    这时你在控制台输入python --version,提示的Python版本是3.6.0。因为控制台在path变量的路径中从前到后搜索python程序,首先搜索到的就是Python 3.6.0。

    创建快捷方式

    假设你默认使用的Python版本就是python 3.6.0,那么在path变量里Python 3.6的目录就要在3.5的前面。然后为了在命令行中使用Python 3.5,你需要进入Python 3.5所在的目录,在当前文件夹下创建python.exe的快捷方式,并将其更名为python35。
    此时在控制台中输入python35,会提示:

    'python35' 不是内部或外部命令,也不是可运行的程序
    或批处理文件。
    

    那是因为快捷方式,会有.lnk后缀,此后缀并没有在控制台的搜索范围中。尝试在控制台中输入python35.lnk,可以发现打开的Python版本就是Python 3.5了。但是更为优雅的解决方案是在环境变量的PATHEXT变量后加入;.lnk就能搜索到.lnk后缀的命令了。

    此外,另一种更简单的解决方案是复制python.exe文件,并更名为python35.exe,我没做尝试,理论上应该也行。

    使用指定的pip

    pip的路径在python安装目录下的./Scripts目录。所以确保你的环境变量path包含了两个Python版本的Scripts文件夹。理论上在安装时选择正确的安装选项就会自动添加相应地Scripts文件夹。

    打开一个Scripts文件夹,发现其实是有三个pip命令的,如图所示:

    pip

    也就是说,在只安装了一个python版本的情况下,比如说Python 3.6.0,在控制台中 pip、pip3、pip3.6是等价的。在同时安装Python3.5和Python3.6的情况下,pip和pip3会重复,系统默认选择path中靠前的pip,但是可以通过pip3.6和pip3.5做区分。如:
    pip3.5 install PyQt5
    此命令即在python3.5下安装PyQt5模块。

    相关文章

      网友评论

        本文标题:Windows下多版本Python共存方案

        本文链接:https://www.haomeiwen.com/subject/jbrogttx.html