【问题标题】:Installing multiple main and bit versions of Python安装 Python 的多个主版本和位版本
【发布时间】:2012-11-03 15:37:39
【问题描述】:

如果我希望 64 位 Python 3.3 在我打开 时成为默认设置,那么安装 32 位和 64 位版本的 Python 2.7 和 Python 3.3 的最佳方式/顺序是什么。 py 文件?

我已经安装了每个版本的 32 位版本,默认设置为 Python 3.3。


如果可以只重命名我当前安装的版本的目录,python27.dll 和使用它的程序(或 python33.dll)会继续工作吗?该库由 python 安装程序安装到 %WINDIR%\System32 和/或 %WINDIR%\SysWoW64


感谢您的回答,这是我所做的:

  1. 已卸载 Python 3.3(剩下 2 个文件)
    • C:\Python33\Lib\lib2to3\Grammar3.3.0.final.0.pickle
    • C:\Python33\Lib\lib2to3\PatternGrammar3.3.0.final.0.pickle
  2. 已卸载 Python 2.7
  3. 已安装 Python 2.7 x86 (无注册扩展)
    • C:\Python\27_32\
  4. 已安装 Python 2.7 x86-64 (无注册扩展)
    • C:\Python\27\
  5. 已安装 Python 3.3 x86 (无注册扩展)
    • C:\Python\33_32\
  6. 已安装 Python 3.3 x86-64 (带有默认寄存器扩展)
    • C:\Python\33\
  7. 已删除 C:\Python33
    • CCleaner 安装程序对此位置的参考问题

【问题讨论】:

    标签: python windows-7 installation


    【解决方案1】:

    使用PEP 397 启动器并将其配置为启动您首选的Python 版本。所有版本的 Python 3.3 都附带一份副本,或者您可以单独安装。

    详细说明:

    与其通过在 shell 中键入 python 来启动 Python,不如运行 py.exe(如果最近安装的版本是 Python 3.3 或更高版本,这也应该是双击 Python 文件的默认操作)。 py.exe 是一个帮助程序,用于在您的系统上搜索和定位合适的 Python 版本。

    您可以在不同位置编辑 .ini 文件以指定默认版本,或者您的 Python 脚本可以指定它们期望运行的版本(使用“shebang”行,如 PEP 中所述)。因此,您可以将系统默认设置为 64 位 Python 3.3,同时还允许各个脚本按需使用其他版本。

    【讨论】:

    • 这看起来很有趣,但我找不到任何关于它如何区分位版本的信息,除非我编辑了.ini,但这意味着 shebang 行不起作用为其他任何人。
    • 我不确定你的意思。 #!python(或为了 Unix 兼容性,#!/usr/bin/python)的 shebang 行将始终启动可用的最高版本的 Python 2,如果 32 位和 64 位版本都可用于该版本,则首选 64 位版本。您可以使用 #!python3 请求 Python 3,或使用 #!python3.2 明确要求 Python 3.2,即使 3.3 可用。如果您的脚本只能在 Python 2.6 32 位上运行,您可以使用 #!python2.6-32。如果要修改默认值(例如,更喜欢 Python 3 而不是 2,或 3.2 而不是 3.3),则只需修改 .ini 文件。
    • 啊,我只看到了选择32位的命令行开关部分。谢谢!这很可能对我有用。
    【解决方案2】:

    安装程序通常有一个“设置文件关联”选项来处理这个问题,我认为它默认是打开的,这意味着最近安装的一个将处理双击 .py 文件。所以最后安装 64 位 Python 3.3,它应该可以工作。几天前我刚刚使用 2.7 的 32 位和 64 位版本进行了此操作,它似乎工作正常。

    不过,我不会重命名您现有的目录。您应该将每个版本的 Python 安装在其自己的目录中。

    【讨论】:

      【解决方案3】:

      我会为您要安装的每个版本(2.7/3.2)或风味(32 位/64 位)的 python 使用一个 virtualenv。从本质上讲,virtualenv 是您安装的沙箱,不会泄漏到其他沙箱中。

      This other SO question 解释如何制作 virtualenvs

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-06-21
        • 2020-05-20
        • 2011-08-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多