代码之家  ›  专栏  ›  技术社区  ›  quanticle

在64位Windows上安装SetupTools

  •  133
  • quanticle  · 技术社区  · 14 年前

    `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`
    

    11 回复  |  直到 14 年前
        1
  •  91
  •   Dave Everitt    9 年前

    显然(在OSX上面临相关的64位和32位问题)有一个 bug in the Windows installer . 我无意中发现 this workaround HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.6\InstallPath 并从中复制InstallPath值 HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.6\InstallPath

    .

    注意:下面的回答提供了更多的细节,所以请阅读。

        2
  •  142
  •   leoluk    6 年前

    安装程序找不到Python的原因是来自windows7的透明32位模拟。64位和32位程序将写入Windows注册表的不同部分。

    64位: HKLM|HKCU\SOFTWARE\

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

    这意味着64位Python安装程序将写入 HKLM\SOFTWARE\Python ,但32位setuptools安装程序 HKLM\SOFTWARE\wow6432node\Python

    通常,您有以下选择:

    • “干净”的方法:如果必须使用32位模块或扩展,请使用32位Python
    • 另一种“干净”的方法:当使用64位Python时,只使用64位安装程序(见下文)
    • 上面的答案表明:复制 HKLM\软件\ Python HKLM\软件\wow6432node\Python ,但是这个
    • 使用setuptools而不是distutils安装程序安装纯Python模块(easy\u install或pip)

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

        3
  •  69
  •   Zero    10 年前

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

    Download 32-bit version HKEY_LOCAL_MACHINE|HKEY_CURRENT_USER\SOFTWARE\wow6432node\

    Download 64-bit version HKEY_LOCAL_MACHINE|HKEY_CURRENT_USER\SOFTWARE\

        4
  •  28
  •   arainchi    11 年前

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

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

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

        5
  •  9
  •   Peter Mortensen stimpy    11 年前

    创建一个名为 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"
    

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

        6
  •  9
  •   Peter Mortensen stimpy    11 年前

    获取文件 register.py this gist . 将其保存在您的C驱动器或D驱动器上,转到CMD使用以下命令运行:

    'python register.py'
    

        7
  •  3
  •   Constantin    13 年前

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

    在编写时,.exe安装程序不支持64位版本的Python for Windows,原因是 distutils installer compatibility issue .

        8
  •  1
  •   Joe DF    11 年前

    ,或者,更改要将安装程序安装到的Python安装,将安装路径添加到 安装路径 注册表项的 价值:

    HKEY\ U LOCAL\ U MACHINE\软件\Wow6432Node\Python\PythonCore\2.X\InstallPath

    “在哪里”

        9
  •  1
  •   Shaswat Rungta    10 年前

    我尝试了上述方法,但将注册表项添加到LOCALMACHINE并没有完成任务。所以,如果你还困在这里,试试这个。

    Windows注册表编辑器5.00版

    [HKEY\ U CURRENT\ U USER\软件\ Python]

    [HKEY\U CURRENT\U USER\SOFTWARE\Python\PythonCore]当前用户

    [HKEY\ U CURRENT\ U USER\软件\Python\PythonCore\2.7]

    [HKEY\ U CURRENT\ U USER\软件\Python\PythonCore\2.7\帮助]

    @=“C:\Python27\Doc\python272.chm”

    [HKEY\u CURRENT\u USER\SOFTWARE\Python\PythonCore\2.7\InstallPath] @=“C:\Python27\”

    [HKEY\U CURRENT\U USER\SOFTWARE\Python\PythonCore\2.7\InstallPath\InstallGroup]当前用户

    [HKEY\ U CURRENT\ U USER\软件\Python\PythonCore\2.7\模块]

    [HKEY\u CURRENT\u USER\SOFTWARE\Python\PythonCore\2.7\PythonPath] @=“C:\Python27\Lib;C:\Python27\dll;C:\Python27\Lib\Lib tk”

        10
  •  0
  •   Community c0D3l0g1c    7 年前

    .exe

    为了注册python3.x,我必须修改 print 语法和导入 winreg (代替 _winreg .exe文件

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

        11
  •  -2
  •   Richard Hermanson    12 年前

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