繁体   English   中英

我无法安装numpy,因为它找不到python 2.7,虽然我已经安装了python

[英]I cannot install numpy because it can't find python 2.7, althought I have installed python

我无法安装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]

解决方案使用任何应用程序解决此问题的最简单方法是...

  1. 打开注册表编辑器(START - > RUN - > regedit)
  2. 导航到HKEY_LOCAL_MACHINE \\ SOFTWARE \\ [应用程序名称](在本例中为“Python”)
  3. 右键单击应用程序(“Python”)
  4. 选择“导出”并将文件保存为“[application name] .reg”(“Python.reg”)
  5. 使用您选择的编辑器打开保存的文件(我喜欢Notepad ++)
  6. 在“[HKEY_LOCAL_MACHINE \\ SOFTWARE”之后但在\\ [应用名称](“\\ Python”)之前的每个条目上,添加“\\ Wow6432Node”(显然没有引号)
  7. 将编辑的文件另存为“[application name] _64.reg”(Python_64.reg“)
  8. 关闭编辑器并双击新创建的文件,在“注册表编辑器”验证弹出窗口中回答“是”。

现在,您应该在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文件以仅包含“\\ Wow6432Node”,导出整个\\ Python节点并编辑所有条目(导入已编辑的.reg文件将覆盖现有条目),或者只需手动添加新条目进入 - 对你来说似乎更简单。

你应该安装Python 32bit,或者从这个非官方站点使用python 64bit的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下的相应位置(您可以使用regedit导出,然后在文本文件中查找并替换,然后导入)。 或者,重新安装Python并选择“所有用户”。

你必须加工python和numpy的版本。 两者都需要是32位或64位。

你应该安装python 2.7 32bit。 数字python windows版本都是32位。

从您的系统卸载Python并再次重新安装。 然后从这个网站下载numpy: http//www.lfd.uci.edu/~gohlke/pythonlibs/#numpy

如果要检查系统上的numpy版本,请在IDE上编写以下代码:

import numpy
numpy.version.version

希望这会有所帮助!

  1. 运行安装程序

  2. 出现错误时单击取消

  3. 点击显示详情

  4. 它会在列表末尾Execute: C:\\.........\\numpy-1.7.1-sse3.exe ,转到该文件夹​​,抓取该文件并将其放入C:\\python27\\

  5. 一旦它在所述文件夹中,从该位置运行它。 安装程序将运行并找到它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM