我有两个Python版本:Python 2.5和Python 2.7。当我设置Django时,我想使用Python 2.7,但一些原因导致Django在某种程度上使用Python 2.5。
我该如何确保Django使用Python 2.7? 我正在使用Windows XP
如果您总是直接调用 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 指向您需要的版本来进行快速切换。
ftype|find /I "python"
- Alex Markov制作两个简单的 .cmd 文件:
python25.cmd:
@echo off
set PYTHONHOME=c:\python25
set PATH=%PATH%;c:\python25
python27.cmd:
@echo off
set PYTHONHOME=c:\python27
set PATH=%PATH%;c:\python27
现在你可以在 Python 2.5 和 2.7 之间切换。 :)
在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
py -3
要使用Python 3.x执行脚本,请使用以下命令:
py -3 script.py
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,))
在注册表中更改键值
HKEY_CLASSES_ROOT\Applications\python.exe\shell\open\command