【发布时间】:2011-06-07 13:41:42
【问题描述】:
我有两个 Python 版本:Python 2.5 和 Python 2.7。当我设置 django 时,我想使用 Python 2.7,但 django 以某种方式使用 Python 2.5。
如何确保 django 使用 Python 2.7?我使用的是 Windows XP
【问题讨论】:
我有两个 Python 版本:Python 2.5 和 Python 2.7。当我设置 django 时,我想使用 Python 2.7,但 django 以某种方式使用 Python 2.5。
如何确保 django 使用 Python 2.7?我使用的是 Windows XP
【问题讨论】:
如果您总是直接调用 python,而不是依赖于 文件关联。
例如:"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"
制作两个简单的 .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 之间切换。 :)
【讨论】:
更改您的 PATH 系统环境变量以指向您要使用的 Python 版本。
【讨论】:
Python 安装程序不会更改 windows 下的 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
【讨论】:
现在 Python 3.3 已经发布,使用此处描述的 py.exe 实用程序是最简单的: http://www.python.org/dev/peps/pep-0397/
它允许您使用 UNIX 样式指令在脚本文件中指定 Python 版本。还有用于控制运行哪个版本的 Python 的命令行和环境变量选项。
获取此实用程序的最简单方法是安装 Python 3.3 或更高版本。
【讨论】:
如果您想在 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,))
【讨论】:
更改注册表项
HKEY_CLASSES_ROOT\Applications\python.exe\shell\open\command
【讨论】: