在 64 位 Windows 上安装 SetupTools

2025-04-16 08:57:00
admin
原创
21
摘要:问题描述:我在 64 位 Windows 7 上运行 Python 2.7,当我运行 setuptools 的安装程序时,它提示我未安装 Python 2.7。具体的错误信息如下:`Python Version 2.7 required which was not found in the registry`...

问题描述:

我在 64 位 Windows 7 上运行 Python 2.7,当我运行 setuptools 的安装程序时,它提示我未安装 Python 2.7。具体的错误信息如下:

`Python Version 2.7 required which was not found in the registry`

我安装的Python版本是:

`Python 2.7 (r27:82525, Jul  4 2010, 07:43:08) [MSC v.1500 64 bit (AMD64)] on win32`

我查看了setuptools网站,发现没有提到任何适用于64位Windows的安装程序。我是不是漏掉了什么?还是必须从源代码安装?


解决方案 1:

问题:您使用的是 64 位 Python 和 32 位安装程序。这会导致扩展模块出现问题。

安装程序找不到 Python 的原因是 Windows 7 的透明 32 位仿真。64 位和 32 位程序将写入 Windows 注册表的不同部分。

64 位:HKLM|HKCUSOFTWARE

32 位:HKLM|HKCUSOFTWAREwow6432node

这意味着 64 位 Python 安装程序会写入HKLMSOFTWAREPython,但 32 位 setuptools 安装程序会查看HKLMSOFTWAREwow6432nodePython(Windows 会自动处理,程序不会察觉)。这是预期行为,并非 bug。

通常,您有以下选择:

  • “干净”的方式:如果必须使用 32 位模块或扩展,请使用 32 位 Python

  • 另一种“干净”的方式:使用 64 位 Python 时仅使用 64 位安装程序(见下文)

  • 上面的答案建议:复制HKLMSOFTWAREPythonHKLMSOFTWAREwow6432nodePython,但这导致二进制分发出现问题,因为 64 位 Python 无法加载 32 位编译模块(不要这样做!)

  • 使用 setuptools 而不是 distutils 安装程序(easy_install 或 pip)安装纯 Python 模块

例如,对于 setuptools 本身,由于它包含二进制文件,因此您无法将 32 位安装程序用于 64 位 Python。不过, http://www.lfd.uci.edu/~gohlke/pythonlibs/上有一个 64 位安装程序(也包含许多其他模块的安装程序)。如今,PyPi 上的许多软件包都有二进制发行版,因此您可以通过 pip 安装它们。

解决方案 2:

显然(我在 OS X 上遇到过相关的 64 位和 32 位问题) Windows 安装程序中存在一个bug 。我偶然发现了一个解决方法,它可能会有所帮助——基本上,你可以创建自己的注册表值HKEY_LOCAL_MACHINESOFTWAREWow6432NodePythonPythonCore.6InstallPath,然后从 复制 InstallPath 值HKEY_LOCAL_MACHINESOFTWAREPythonPythonCore.6InstallPath。有关更多详细信息,请参阅下面的答案。

如果您这样做,请注意 setuptools可能只安装 32 位库

注意:以下回复提供了更多详细信息,因此也请阅读它们。

解决方案 3:

我创建了一个注册表 (.reg) 文件,它可以自动更改注册表。如果该文件安装在“C:\Python27”目录下,它就可以正常工作:

下载 32 位版本 HKEY_LOCAL_MACHINE|HKEY_CURRENT_USERSOFTWAREwow6432node

下载 64 位版本 HKEY_LOCAL_MACHINE|HKEY_CURRENT_USERSOFTWARE

解决方案 4:

是的,您说得对,问题出在 64 位 Python 和 32 位 setuptools 安装程序上。

在 Windows 上安装 64 位 setuptools 的最佳方法是将ez_setup.py下载到 C:\Python27\Scripts 并运行。它会下载适用于 setuptools 的 64 位 .egg 文件并自动安装。

来源:http://pypi.python.org/pypi/setuptools

PS 我建议不要使用第三方 64 位 .exe setuptools 安装程序或操作注册表

解决方案 5:

创建一个名为(注册表文件)的文件python2.7.reg,并将此内容放入其中:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESOFTWAREWow6432NodePythonPythonCore.7]

[HKEY_LOCAL_MACHINESOFTWAREWow6432NodePythonPythonCore.7Help]

[HKEY_LOCAL_MACHINESOFTWAREWow6432NodePythonPythonCore.7HelpMainPythonDocumentation]
@="C:\\Python27\\Doc\\python26.chm"

[HKEY_LOCAL_MACHINESOFTWAREWow6432NodePythonPythonCore.7InstallPath]
@="C:\\Python27\\\"

[HKEY_LOCAL_MACHINESOFTWAREWow6432NodePythonPythonCore.7InstallPathInstallGroup]
@="Python 2.7"

[HKEY_LOCAL_MACHINESOFTWAREWow6432NodePythonPythonCore.7Modules]

[HKEY_LOCAL_MACHINESOFTWAREWow6432NodePythonPythonCore.7PythonPath]
@="C:\\Python27\\Lib;C:\\Python27\\DLLs;C:\\Python27\\Lib\\lib-tk"

并确保每条路径都是正确的!

然后运行(合并)它并完成:)

解决方案 6:

register.py从此gist获取文件。将其保存在 C 盘或 D 盘,然后打开 CMD 命令运行:

'python register.py'

然后您就可以安装它了。

解决方案 7:

对于 Windows 上的 64 位 Python,请下载ez_setup.py并运行它;它将下载相应的 .egg 文件并为您安装。

在撰写本文时,由于distutils 安装程序兼容性问题,.exe 安装程序不支持 Windows 的 64 位版本的 Python 。

解决方案 8:

为了允许 Windows 安装程序在Windows 7中找到已安装的 Python 目录,或者,更改要安装安装程序的 Python 安装,请将安装路径添加到InstallPath注册表项的(默认)值中:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.X\InstallPath

其中“ X ”是 Python 版本(即 2.5、2.6 或 2.7)。

解决方案 9:

我尝试了上述方法,但将注册表项添加到 LOCALMACHINE 并没有成功。如果您仍然遇到问题,请尝试以下方法。

Windows 注册表编辑器版本 5.00

[HKEY_CURRENT_USER\SOFTWARE\Python]

[HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore]

[HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\2.7]

[HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\2.7\Help]

[HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\2.7\Help\Main Python 文档] @="C:\Python27\Doc\python272.chm"

[HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\2.7\InstallPath] @="C:\Python27\"

[HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\2.7\InstallPath\InstallGroup] @="Python 2.7"

[HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\2.7\Modules]

[HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\2.7\PythonPath] @="C:\Python27\Lib;C:\Python27\DLLs;C:\Python27\Lib\lib-tk"

将上述内容复制粘贴到记事本中,并将其另存为 Python27.reg。现在,按照上述答案中所述运行/合并该文件。(请确保 Python 安装路径已根据您的安装情况进行了更正。)

它只是向当前用户执行上述答案针对本地机器所建议的操作。

解决方案 10:

这是另一篇帖子/主题的链接。我能够运行这个脚本来自动注册 Python 2.7。(请确保从.exe要注册的 Python 2.x 版本运行它!)

要注册 Python 3.x,我必须修改print语法并导入winreg(而不是_winreg),然后运行 ​​Python 3 .exe

https://stackoverflow.com/a/29633714/3568893

解决方案 11:

您可以在这里找到许多库的 64 位安装程序:http://www.lfd.uci.edu/~gohlke/pythonlibs/

相关推荐
  政府信创国产化的10大政策解读一、信创国产化的背景与意义信创国产化,即信息技术应用创新国产化,是当前中国信息技术领域的一个重要发展方向。其核心在于通过自主研发和创新,实现信息技术应用的自主可控,减少对外部技术的依赖,并规避潜在的技术制裁和风险。随着全球信息技术竞争的加剧,以及某些国家对中国在科技领域的打压,信创国产化显...
工程项目管理   2482  
  为什么项目管理通常仍然耗时且低效?您是否还在反复更新电子表格、淹没在便利贴中并参加每周更新会议?这确实是耗费时间和精力。借助软件工具的帮助,您可以一目了然地全面了解您的项目。如今,国内外有足够多优秀的项目管理软件可以帮助您掌控每个项目。什么是项目管理软件?项目管理软件是广泛行业用于项目规划、资源分配和调度的软件。它使项...
项目管理软件   1533  
  PLM(产品生命周期管理)项目对于企业优化产品研发流程、提升产品质量以及增强市场竞争力具有至关重要的意义。然而,在项目推进过程中,范围蔓延是一个常见且棘手的问题,它可能导致项目进度延迟、成本超支以及质量下降等一系列不良后果。因此,有效避免PLM项目范围蔓延成为项目成功的关键因素之一。以下将详细阐述三大管控策略,助力企业...
plm系统   0  
  PLM(产品生命周期管理)项目管理在企业产品研发与管理过程中扮演着至关重要的角色。随着市场竞争的加剧和产品复杂度的提升,PLM项目面临着诸多风险。准确量化风险优先级并采取有效措施应对,是确保项目成功的关键。五维评估矩阵作为一种有效的风险评估工具,能帮助项目管理者全面、系统地评估风险,为决策提供有力支持。五维评估矩阵概述...
免费plm软件   0  
  引言PLM(产品生命周期管理)开发流程对于企业产品的全生命周期管控至关重要。它涵盖了从产品概念设计到退役的各个阶段,直接影响着产品质量、开发周期以及企业的市场竞争力。在当今快速发展的科技环境下,客户对产品质量的要求日益提高,市场竞争也愈发激烈,这就使得优化PLM开发流程成为企业的必然选择。缺陷管理工具和六西格玛方法作为...
plm产品全生命周期管理   0  
热门文章
项目管理软件有哪些?
曾咪二维码

扫码咨询,免费领取项目管理大礼包!

云禅道AD
禅道项目管理软件

云端的项目管理软件

尊享禅道项目软件收费版功能

无需维护,随时随地协同办公

内置subversion和git源码管理

每天备份,随时转为私有部署

免费试用