【发布时间】:2012-03-29 20:48:23
【问题描述】:
我无法安装 numpy,因为它找不到 python 2.7,虽然我已经安装了 python。
我有消息:“需要 Python 版本 2.7,在注册表中找不到”
有没有解决我的问题?
【问题讨论】:
-
你需要哪个版本的numpy。 32 位还是 64 位窗口?
我无法安装 numpy,因为它找不到 python 2.7,虽然我已经安装了 python。
我有消息:“需要 Python 版本 2.7,在注册表中找不到”
有没有解决我的问题?
【问题讨论】:
这对于依赖或寻找以前安装的 64 位核心应用程序(例如 Python x64)的安装程序(例如 Numpy)并不少见。问题和解决方案很容易解释。
问题 恕我直言,这是已安装的 64 位应用程序的开发人员通过将注册表项放置在 32 位节点而不是(或除了)64 位节点中的错误。实际上,安装程序的开发人员也可以对其进行编码以同时查看这两个位置,而不是仅仅假设 64 位应用程序注册表项将在 \Wow6432Node 中,作为避免原始开发人员疏忽问题的一种方式;但是,如果安装程序根据注册表项的位置来决定应用程序是 32 位还是 64 位(这不是一个好主意),这可能会出现问题。
对于 64 位应用程序,有时会在...中创建注册表项
HKLM\SOFTWARE\[applicaion name]
但是,没有在...中创建相应的注册表项
HKLM\SOFTWARE\Wow6432Node\[application name]
解决方案 使用任何应用程序解决此问题的最简单方法是...
现在您应该在 HKLM\SOFTWARE\ [应用程序名称] 和 HKLM\SOFTWARE\Wow6432Node\ [应用程序名称] 中有重复的条目。或者,您可以手动在 HKLM\SOFTWARE\Wow6432Node\ [应用程序名称] 下创建所有缺少的条目,以匹配 HKLM\SOFTWARE\ [应用程序名称] 中的内容,但这确实是很长的路要走。
当您重新运行 Numpy 安装程序时,它现在将正确检测您的 64 位 Python 安装。
警告 所有这一切都有一个警告。
HKLM\SOFTWARE 和 HKLM\SOFTWARE\Wow6432Node 中的重复条目没有问题,不会影响应用程序的正常运行;但是,由于开发人员错过了创建 Wow6432Node 注册表项,因此修改注册表项的任何未来更新都不太可能在这两个位置填充。您可能有时必须再次执行此操作或手动将新注册表项添加到 Wow6432Node 以保持它们的一致性。您可能会遇到这种情况的一个示例是安装 Python 模块,该模块在 HKLM\SOFTWARE\Python\PythonCore\2.x\Modules\ 下添加了一个条目。您可以仅导出添加的条目并编辑 .reg 文件以仅包含“\Wow6432Node”,导出整个 \Python 节点并编辑所有条目(导入已编辑的 .reg 文件将覆盖现有条目),或者只是手动添加新的entry - 任何对你来说更简单的东西。
【讨论】:
reg copy HKLM\SOFTWARE\Python HKLM\SOFTWARE\Wow6432Node\Python /s 比使用 regedit 和文本编辑器稍微容易一些。
您应该安装 Python 32 位,或使用来自 this unofficial site 的 Python 64 位的 numpy 包
【讨论】:
这个问题也会影响 32 位 Python 上的 32 位 numpy。
原因是 numpy 安装程序假定您在安装 Python 时选择了“为所有用户安装”,即 Python 安装程序使用机器范围的 HKEY_LOCAL_MACHINE注册表的一部分。 如果您改为选择“仅为我安装”,这些注册表设置位于注册表的用户可写部分,*HKEY_USERS_*(又名 HKEY_CURRENT_USER强>)。 numpy 安装程序看不到那里,因此认为 Python 没有安装。
解决方案: 将 HKEY_CURRENT_USER\Software\Python 键和所有子键复制到 HKEY_LOCAL_MACHINE\Software 下的相应位置(您可以使用 Export from regedit 执行此操作,然后在文本中查找并替换文件,然后导入)。或者,重新安装 Python 并选择“所有用户”。
【讨论】:
HKEY_CURRENT_USER\Software\Python
你必须匹配 python 和 numpy 的版本。两者都需要是 32 位或 64 位。
【讨论】:
你应该安装 python 2.7 32bit。数值python windows版本都是32bit的。
【讨论】:
从您的系统中卸载 Python 并重新安装。然后从这个站点下载numpy:http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy
如果您想检查系统上的 numpy 版本,请在您的 IDE 上编写以下代码:
import numpy
numpy.version.version
希望这会有所帮助!
【讨论】:
运行安装程序
出现错误时点击取消
点击显示详情
它会在列表末尾显示Execute: C:\.........\numpy-1.7.1-sse3.exe,转到该文件夹,获取该文件并将其放入C:\python27\
一旦它在所述文件夹中,从该位置运行它。安装程序将运行并找到它。
【讨论】: