【问题标题】:How do I install Python 2.7.3 32 bit and 64 bit on Windows side by side如何在 Windows 上并排安装 Python 2.7.3 32 位和 64 位
【发布时间】:2012-04-17 07:35:43
【问题描述】:

我有 Windows Vista 64。

我有一些项目需要 Python 2.7.3 64 位,而另一些项目需要 Python 2.7.3 32 位(因为某些扩展在 64 位中不起作用)。

如何防止 Python 2.7.3 MSI 安装程序(32 或 64 机器人)删除其他版本。

并排为我使用 Python 2.7.2 并没有问题。

【问题讨论】:

  • 看起来像是 2.7.3 特有的安装程序错误
  • 作为一种解决方法,您可以只使用虚拟机,直到他们解决问题,我有同样的问题

标签: python win64


【解决方案1】:

这似乎适用于 Windows 7 64 位。选择一个版本作为您的默认安装,例如64位,先安装。在执行任何其他操作之前,请先安装其他版本。

指定不同的安装目录并在Customize Python 2.7.3 屏幕中选择Register Extensions 并选择Entire feature will be unavailable

【讨论】:

  • 这非常有效。非常感谢尼古拉。我相信“注册扩展并选择整个功能将不可用”非常重要,因为它决定了您的默认 python。
【解决方案2】:

您通常可以并排安装多个 Python 版本。在 Windows 中安装时,除了文件安装之外,还会更新注册表,以便任何后续的包/工具安装都可以枚举当前 m/c 中的所有 Python 安装。 只有在安装相同版本但位数不同时才会出现问题。 因为注册表路径 SOFTWARE\Python\Pythoncore\ 不区分位数和错误修复,所以您最终会覆盖 InstallPathPythonPath 如果您正在安装具有不同错误修复或不同位数的相同版本。

解决方案

  • 为不同的位数安装两个不同的版本。
  • 准备一个脚本,以便在每次要在位数之间切换时更新注册表项。我碰巧在effbot 中偶然发现了一个简单的类似脚本,它完成了这项工作。

更新

正如 Ruediger Jungbeck 指出他可以看到两个不同的注册表项,我突然想起了 Vista 之后的一个重要变化。在 64 位系统上,为了能够从 32 位和 64 位应用程序访问注册表项,Windows 在重要节点处拆分注册表。对于 64 位应用程序,它是本机注册表路径,但对于 32 位应用程序,它是 WoW6432Node。因此,当运行 Python\Tools\extension 的 32 位版本时,它只会看到 Wow6432Node。 64 位应用程序将只能看到本机节点。有 API 可以访问跨位节点,但这超出了这个问题的范围。 总而言之,windows 通过拆分节点来智能处理 32 位和 64 位应用程序,这将允许 32 位扩展透明地访问 32 位 Python 安装。

【讨论】:

  • 我可以找到 2 个不同的值。 HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.7 中的一个指向 64 位版本,一个 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.7 指向 32 位版本,所以我希望每一位都发现它是 Python。但为什么安装程序会同时看到两者?
  • 我看到了你的更新,但这并没有解决我的问题。我希望同时安装两个位(在同一系统上)
【解决方案3】:

在安装第二个 python 时,对于注册扩展选择“整个功能将不可用”选项。 Python 64 安装路径将在注册表“HKLM:SOFTWARE\Python\PythonCore\2.7\InstallPath”中

Python 64 位 PythonPath 将在 "HKLM:SOFTWARE\Python\PythonCore\2.7\PythonPath"

Python 32 安装路径将在注册表中 "HKLM:SOFTWARE\Wow6432Node\Python\PythonCore\2.7\InstallPath"

Python 32 位 PythonPath 将在 "HKLM:SOFTWARE\Wow6432Node\Python\PythonCore\2.7\PythonPath"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-14
    • 1970-01-01
    • 2012-06-27
    • 1970-01-01
    • 1970-01-01
    • 2015-02-28
    相关资源
    最近更新 更多