我有两个python版本:Python 2.5和Python 2.7。当我设置django时,我想使用Python 2.7,但django不知何故使用Python 2.5。
如何确保django使用Python 2.7?我正在使用Windows XP
答案 0 :(得分:21)
如果你总是直接调用python而不是依赖python,那么改变你的PATH会有所帮助 文件关联。
例如:"python foo.py"
将运行'foo'脚本,无论你的PATH首先是哪个python。
但是,如果您只运行"foo.py"
,则注册表中与此文件扩展名关联的处理程序将是第一个被调用的处理程序。
在你的情况下,听起来像是python 2.5。看一下打开注册表,然后查看 价值观:
HKEY_CLASSES_ROOT\Python.File\shell\open\command
列出的(默认)值可能类似于"C:\Python25\python.exe" "%1" %*
快速(和脏?)修复程序是将这些值更改为您真正想要的python版本。
更好的解决方法是执行此功能请求中概述的内容:
http://bugs.python.org/issue4485
从那时起,只要您拥有管理员权限,就可以通过快速指向您想要的版本来切换。
答案 1 :(得分:12)
制作两个简单的.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之间切换。 :)
答案 2 :(得分:10)
将PATH系统环境变量更改为指向要使用的Python版本。
答案 3 :(得分:5)
Python安装程序不会更改Windows下的PATH环境变量。
当键入类似python setup.py
窗口的东西时,首先在PATH中查找python,然后在当前用户注册表配置单元中
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\App Paths\Python.exe
然后在本地机器注册表配置单元
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths\Python.exe
答案 4 :(得分:5)
现在Python 3.3已经发布,最简单的方法是使用这里描述的py.exe实用程序: http://www.python.org/dev/peps/pep-0397/
它允许您使用UNIX样式指令在脚本文件中指定Python版本。还有命令行和环境变量选项,用于控制运行哪个版本的Python。
获得此实用程序的最简单方法是安装Python 3.3或更高版本。
答案 5 :(得分: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,))
答案 6 :(得分:1)
更改
处的注册表项HKEY_CLASSES_ROOT\Applications\python.exe\shell\open\command