在Windows XP上更改默认的Python解释器

13

我有两个Python版本:Python 2.5和Python 2.7。当我设置Django时,我想使用Python 2.7,但一些原因导致Django在某种程度上使用Python 2.5。

我该如何确保Django使用Python 2.7? 我正在使用Windows XP


可能是更改Python解释器Windows的重复问题。 - ivan_pozdeev
7个回答

21

如果您总是直接调用 Python,而不依赖于文件关联,则更改您的 PATH 可以帮助。

例如:"python foo.py" 将使用 PATH 中第一个 Python 运行 'foo' 脚本。

然而,如果您只运行 "foo.py",则注册表中与此文件扩展名相关联的处理程序将首先被调用。

在您的情况下,似乎是 Python 2.5。通过打开 regedit 并检查以下值来查看:

HKEY_CLASSES_ROOT\Python.File\shell\open\command

默认值是类似于 "C:\Python25\python.exe" "%1" %* 的东西。

一个快速(但不太优美?)的解决方法是将这些值更改为您实际想要的 Python 版本。

更好的解决方法是按照此功能请求中所概述的做法:

http://bugs.python.org/issue4485

从那时起,只要您有管理员权限,就可以通过将 assoc 指向您需要的版本来进行快速切换。


6
快速找到Python文件扩展名的处理程序的方法:ftype|find /I "python" - Alex Markov
此答案提供有关查找与.py关联的更多详细信息:https://dev59.com/Km445IYBdhLWcg3wAFm0#5088548,而shitalshah的答案更加实用:https://dev59.com/s2445IYBdhLWcg3w3Nwf#24277570。 - BlackICE

12

制作两个简单的 .cmd 文件:

python25.cmd:

@echo off
set PYTHONHOME=c:\python25
set PATH=%PATH%;c:\python25

python27.cmd:


(该命令用于在Windows上启动Python 2.7解释器。)
@echo off
set PYTHONHOME=c:\python27
set PATH=%PATH%;c:\python27

现在你可以在 Python 2.5 和 2.7 之间切换。 :)


9
将您的 PATH 系统环境变量更改为指向您想要使用的 Python 版本。

请注意,这不会更改文件扩展名关联。 - ivan_pozdeev

5

在Windows下,Python安装程序不会更改PATH环境变量。当输入类似python setup.py的命令时,Windows首先查找PATH中的Python路径,然后查找当前用户注册表。

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\App Paths\Python.exe

然后在本地计算机注册表中

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths\Python.exe

5
现在Python 3.3已经发布,使用在这里描述的py.exe实用程序最为方便: http://www.python.org/dev/peps/pep-0397/ 它允许您在脚本文件中使用类UNIX指令来指定Python版本。还有命令行和环境变量选项可用于控制运行哪个版本的Python。
获取此实用程序的最简单方法是安装Python 3.3或更高版本。

4
如果你想在Python 2.x和Python 3.x之间切换,最简单的方法是使用自从3.3版本开始就包含的Python Launcher。这基本上是Windows文件夹中的py.exe。要启动Python 3.x命令提示符,只需输入
py -3

要使用Python 3.x执行脚本,请使用以下命令:

py -3 script.py

如果您没有指定“-3”,则默认使用2.x版本。您也可以通过使用“-2.7”开关来明确表示。
py -2.7 script.py

最后,您现在可以将版本号嵌入到.script文件中以供使用。这是因为安装Python 3.3+后,它会将py.exe与.py文件关联起来。

#! python3
import sys
sys.stdout.write("hello from Python %s\n" % (sys.version,))

1
我想补充一点,你可以在包含py.exe的位置中的py.ini文件中更改默认设置。 - BlackICE

1

在注册表中更改键值

HKEY_CLASSES_ROOT\Applications\python.exe\shell\open\command

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接