在64位Windows上安装SetupTools

qua*_*cle 133 python setuptools easy-install

我在Windows 7 64位上运行Python 2.7,当我运行setuptools的安装程序时,它告诉我没有安装Python 2.7.具体的错误消息是:

`Python Version 2.7 required which was not found in the registry`
Run Code Online (Sandbox Code Playgroud)

我安装的Python版本是:

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

我正在查看setuptools站点,它没有提到64位Windows的任何安装程序.我是否遗漏了某些内容或者是否必须从源代码安装此内容?

leo*_*luk 142

问题:你有64位Python和32位安装程序.这将导致扩展模块出现问题.

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

64位: HKLM|HKCU\SOFTWARE\

32位:HKLM|HKCU\SOFTWARE\wow6432node\.

这意味着64位Python安装程序会写入HKLM\SOFTWARE\Python,但32位setuptools安装程序会查看HKLM\SOFTWARE\wow6432node\Python(这由Windows自动处理,程序不会注意到).这是预期的行为而不是错误.

通常,您有以下选择:

  • "干净"的方式:如果必须使用32位模块或扩展,请使用32位Python
  • 另一种"干净"的方式:使用64位Python时只使用64位安装程序(见下文)
  • 上面的答案表明:复制HKLM\SOFTWARE\PythonHKLM\SOFTWARE\wow6432node\Python,但这导致二进制发行版的问题,因为64位Python无法加载32位编译模块(不要这样做!)
  • 使用setuptools而不是distutils安装程序安装纯Python模块(easy_install或pip)

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

  • 非官方安装人员的绝佳链接! (7认同)
  • 相反的是(2.7 32和setuptools 64)http://stackoverflow.com/a/10966396/404385 < - 找出你安装的python版本和32/64 (2认同)

Dav*_*itt 91

显然(在OS X上遇到相关的64位和32位问题)Windows安装程序中存在一个错误.我偶然发现了这种解决方法,这可能有所帮助 - 基本上,您创建自己的注册表值HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.6\InstallPath并从中复制InstallPath值HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.6\InstallPath.有关详细信息,请参阅下面的答案.

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

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


Joe*_* DF 69

我制作了一个注册表(.reg)文件,它将自动为您更改注册表.如果它安装在"C:\ Python27"中,它可以工作:

下载32位版本 HKEY_LOCAL_MACHINE|HKEY_CURRENT_USER\SOFTWARE\wow6432node\

下载64位版本 HKEY_LOCAL_MACHINE|HKEY_CURRENT_USER\SOFTWARE\

  • 您的REG文件对我有用,但我有相反的问题,所以我不得不从所有的键名中删除"\ Wow6432Node". (3认同)

ara*_*chi 28

是的,你是对的,问题在于64位Python和32位安装程序的setuptools.

在Windows上安装64位安装工具的最佳方法是将ez_setup.py下载到C:\ Python27\Scripts并运行它.它将为setuptools下载适当的64位.egg文件并为您安装.

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

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

  • 无法相信这个解决方案有多快和多么容易.我花了好几个小时坚持其他途径. (2认同)

Mic*_*Net 9

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

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.7]

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.7\Help]

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.7\Help\MainPythonDocumentation]
@="C:\\Python27\\Doc\\python26.chm"

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

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

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.7\Modules]

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.7\PythonPath]
@="C:\\Python27\\Lib;C:\\Python27\\DLLs;C:\\Python27\\Lib\\lib-tk"
Run Code Online (Sandbox Code Playgroud)

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

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


nic*_*fly 9

register.py这个要点获取文件.将其保存在C盘或D盘上,转到CMD运行它:

'python register.py'
Run Code Online (Sandbox Code Playgroud)

然后你就可以安装它了.