我的机器上安装了两个版本的Python(版本2.6和2.5)。我想在一个项目上运行2.6,在另一个项目上运行2.5。
我如何指定我想要使用哪个?
我正在使用Windows XP SP2。
我的机器上安装了两个版本的Python(版本2.6和2.5)。我想在一个项目上运行2.6,在另一个项目上运行2.5。
我如何指定我想要使用哪个?
我正在使用Windows XP SP2。
当前回答
运行不同的Python副本与启动正确的可执行文件一样简单。您提到您已经通过简单地输入python从命令行启动了一个python实例。
这在Windows下所做的是搜索%PATH%环境变量,检查与给定名称匹配的可执行文件(批处理文件(.bat)、命令文件(.cmd)或其他要运行的可执行文件(由PATHEXT环境变量控制)。当它找到要运行的正确文件时,文件就会被运行。
现在,如果你已经安装了两个python版本2.5和2.6,该路径将包含它们的两个目录,类似于path =c:\python\2.5;c:\python\2.6,但Windows在找到匹配时将停止检查该路径。
你真正需要做的是显式地调用一个或两个应用程序,例如c:\python\2.5\python.exe或c:\python\2.6\python.exe。
另一种方法是为各自的python.exe创建一个快捷方式,将其中一个命名为python25,另一个命名为python26;然后,只需在命令行上运行python25即可。
其他回答
根据@Aman给出的答案介绍更多细节。 为不同的python版本定义不同的环境变量。 例如:
你同时有E:\python2\python.exe和E:\python3\python.exe。 然后,您可以为E:\python2\python.exe设置环境变量%python2%,为E:\python3\python.exe设置环境变量%python2%。 最后,当您想运行python2(或python3)时,可以在命令提示符中直接输入%python2%(或%python3%)。
运行不同的Python副本与启动正确的可执行文件一样简单。您提到您已经通过简单地输入python从命令行启动了一个python实例。
这在Windows下所做的是搜索%PATH%环境变量,检查与给定名称匹配的可执行文件(批处理文件(.bat)、命令文件(.cmd)或其他要运行的可执行文件(由PATHEXT环境变量控制)。当它找到要运行的正确文件时,文件就会被运行。
现在,如果你已经安装了两个python版本2.5和2.6,该路径将包含它们的两个目录,类似于path =c:\python\2.5;c:\python\2.6,但Windows在找到匹配时将停止检查该路径。
你真正需要做的是显式地调用一个或两个应用程序,例如c:\python\2.5\python.exe或c:\python\2.6\python.exe。
另一种方法是为各自的python.exe创建一个快捷方式,将其中一个命名为python25,另一个命名为python26;然后,只需在命令行上运行python25即可。
使用批处理文件切换,在windows 7上简单高效。我用这个:
在环境变量对话框(C:\Windows\System32\SystemPropertiesAdvanced.exe)
在部分用户变量
添加了%pathpython%到path环境变量 删除了对python路径的任何引用
在部分系统变量
删除了对python路径的任何引用
我为每个python安装都创建了批处理文件(例如3.4 x64)
Name = SetPathPython34x64 !!ToExecuteAsAdmin.bat;-)只是为了记住。
文件的内容=
Set PathPython=C:\Python36AMD64\Scripts\;C:\Python36AMD64\;C:\Tcl\bin
setx PathPython %PathPython%
为了在版本之间切换,我以管理模式执行批处理文件。
! !这些更改对随后的命令提示符窗口“已打开”有效。!!!
所以我可以完全控制它。
假设我们安装了python 3.7和python 3.6。
它们默认分别存储在以下文件夹中。
C:\Users\name\AppData\Local\Programs\Python\Python36 C:\Users\name\AppData\Local\Programs\Python\Python37
如果我们想在上述任何特定环境中使用CMD提示符来安装/运行命令,请这样做:
在上面的每个文件夹中都应该有python.exe。
因此,当我们尝试运行任何文件的ex.(见image1) python hello.py。我们称之为相应的python.exe。默认情况下,它选择较低版本的文件。(在这种情况下,它将从python 3.6使用)
图像
如果我们想使用python3.7运行。只需更改.exe文件名。例如,如果我更改为python37.exe,并且我想使用python3.7来运行hello.py
我将使用python37 hello.py。或者如果我想在默认情况下使用python3.7,我会将python3.6文件夹中的python.exe文件名更改为其他文件。这样每次我只使用python hello.py时,它都会使用python3.7
从Python 3.3开始,Windows有官方的Python启动器(http://www.python.org/dev/peps/pep-0397/)。现在,您可以使用#!pythonX来确定在Windows上需要的解释器版本。在我的另一条评论中查看更多细节,或阅读PEP 397。
概要:py script.py会启动#!如果#!不见了。py -3 script.py启动Python 3。