【问题标题】:Change default Python interpreter on Windows XP更改 Windows XP 上的默认 Python 解释器
【发布时间】: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 django version


【解决方案1】:

如果您总是直接调用 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 指向您想要的版本来根据需要快速切换。

【讨论】:

【解决方案2】:

制作两个简单的 .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 之间切换。 :)

【讨论】:

    【解决方案3】:

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

    【讨论】:

    • 请注意,这不会更改文件扩展名关联。
    【解决方案4】:

    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
    

    【讨论】:

      【解决方案5】:

      现在 Python 3.3 已经发布,使用此处描述的 py.exe 实用程序是最简单的: http://www.python.org/dev/peps/pep-0397/

      它允许您使用 UNIX 样式指令在脚本文件中指定 Python 版本。还有用于控制运行哪个版本的 Python 的命令行和环境变量选项。

      获取此实用程序的最简单方法是安装 Python 3.3 或更高版本。

      【讨论】:

        【解决方案6】:

        如果您想在 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,))
        

        【讨论】:

        • 我要补充一点,您可以更改包含在 py.exe 位置中的 py.ini 文件中的默认值
        【解决方案7】:

        更改注册表项

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

        【讨论】:

          猜你喜欢
          • 2015-05-12
          • 2014-07-17
          • 1970-01-01
          • 2017-10-12
          • 1970-01-01
          • 2014-11-09
          • 2021-01-26
          • 2019-02-02
          • 1970-01-01
          相关资源
          最近更新 更多