我无法安装numpy,因为它找不到python 2.7,但是我已经安装了python。
我有消息:“需要Python版本2.7,在注册表中找不到”
有解决我的问题吗?
答案 0 :(得分:54)
这对于依赖或寻找以前安装的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安装。
<强> CAVEAT 强> 这一切都有一个警告。
HKLM \ SOFTWARE和HKLM \ SOFTWARE \ Wow6432Node中的重复条目不是问题,不会影响应用程序的正常运行;但是,由于开发人员错过了创建Wow6432Node注册表项,因此不太可能在两个位置填充修改注册表项的任何未来更新。您可能偶尔需要再次执行此操作或手动将新的注册表项添加到Wow6432Node以保持它们的一致性。您可能遇到的一个示例是安装Python模块,在HKLM \ SOFTWARE \ Python \ PythonCore \ 2.x \ Modules \下添加一个条目。您可以只导出添加的条目并编辑.reg文件以包含&#34; \ Wow6432Node&#34;只导出整个\ Python节点并编辑所有条目(导入已编辑的.reg文件将覆盖现有条目),或者只是手动添加新条目 - 无论你看起来多么简单。
答案 1 :(得分:23)
你应该安装Python 32bit,或者使用来自this unofficial site的python 64bit的numpy包
答案 2 :(得分:7)
此问题也会影响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 下的相应位置(您可以使用regedit导出,然后查找&amp; replace in文本文件,然后导入)。或者,重新安装Python并选择“所有用户”。
答案 3 :(得分:2)
你必须使用python和numpy的版本。两者都需要是32位或64位。
答案 4 :(得分:1)
你应该安装python 2.7 32bit。数值python windows版本都是32位。
答案 5 :(得分:0)
从您的系统中卸载Python并再次重新安装。然后从此站点下载numpy:http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy
如果您想检查系统上的numpy版本,请在IDE上编写以下代码:
import numpy
numpy.version.version
希望这会有所帮助!
答案 6 :(得分:0)
运行安装程序
出现错误时点击取消
点击显示详细信息
它会在列表Execute: C:\.........\numpy-1.7.1-sse3.exe
的末尾说明,转到该文件夹,抓取该文件并将其放入C:\python27\
一旦进入所述文件夹,就从该位置运行它。安装程序将运行并找到它。