numpy python 3.4.1安装:在注册表中未找到Python 3.4。

5
我电脑上有两个Python版本,分别是2.7和3.4.1。我尝试通过pip3.4安装numpy,但出现了“vcvarsall.bat未找到”的错误提示,我很确定它已经包含在系统路径中了。于是我放弃了,并下载了numpy二进制文件numpy-1.8.1-win32-superpack-python3.4.exe。在安装过程中,它告诉我numpy无法在注册表中找到Python 3.4,但我确信它已经存在了。
HKEY_LOCAL_MACHINE
-SOFTWARE
--Python
---PythonCore
----2.7
-----Help
-----InstallPath
-----Modules
-----PythonPath
----3.4
-----Help
-----InstallPath
-----Modules
-----PythonPath

那么,接下来我需要做什么呢?我的系统是Windows 7 64位。


只需尝试使用Win32或AMD64。 - staticor
6个回答

8

有一个更简单的解决方法,就是卸载并重新安装Python。在安装Python时,当询问您是否要为所有用户或仅为此用户安装Python时,请选择仅为此用户安装。

这样默认情况下注册表会进入当前用户,并且可轻松找到后续软件包。我自己尝试过,效果非常好。

对于像我一样技术较差的人来说,这是一种更简单的选择。

但如果您需要在PC上为多个用户使用,则必须手动编辑注册表并将其放入当前用户中。请按照先前评论中所述进行复制。


1
我需要一个非常简单的解决方案供客户安装。这很完美! - Lucidity
非常简单。谢谢! - Logic1

7
这些步骤适用于我使用的 Windows 8.1 64 位操作系统。问题在于某些模块安装程序在错误的位置查找 Python 版本信息。例如,在这个模块的情况下,安装程序在注册表中查找“HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\3.4”。但是,我发现我的 Python 3.4 安装程序实际上将此信息放置在“HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\3.2”中。一旦你知道了原因,解决起来就很容易。打开注册表编辑器(可能需要管理员权限),并将“HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\3.4”导出到文本文件中。在文本编辑器中打开导出的 .reg 文件,并将“HKEY_LOCAL_MACHINE”条目替换为“HKEY_CURRENT_USER”。然后将这些新条目添加回注册表(以下是如何进行)。这样,模块安装程序就可以顺利进行而不会抛出错误。

参考:http://codeyarns.com/2012/04/28/python-version-not-found-in-registry-error/


7
在Windows上安装numpy时,必须确保使用与Python安装相对应的.exe文件。由于您使用的是Python 3.4.1版本,因此必须使用Python 3.4.1版本的安装程序。您使用的安装程序在3.4.1版本发布之前就已经修改过了,这表明它适用于3.4.0版本,因此无法正常工作。
如果您需要最新的Windows安装程序(以及许多其他软件包),可以在这里找到它们。

2
安装程序是在3月25日修改的,早于3.4.1版本发布。- 哇塞..真是发现得好! - Inversus

3

我刚刚遇到了一个类似的问题(“numpy无法在注册表中找到Python 3.4”),当我安装numpy-1.9.1-win32-superpack-python3.4.exe时。解决方法是安装python-3.4.2.msi而不是python-3.4.2.amd64.msi。


这并不能帮助那些想要使用64位Python的人,因为NumPy与重计算相关联,而64位Python是首选。 - Alex W

1
您正在尝试在64位Python安装程序上安装32位版本的numpy。在sourceforge上似乎无法下载64位scipy的解决方案是安装32位版本的Python。Abilio Faria提供了答案。另一个线程中的另一个答案在这里

0

我遇到了与安装Python "for all users" 相同的问题。我导出了 HKLM 键,将 HKML 替换为 HKCU 并导入了 HKCU 路径。现在一些遗留模块可以使用Python。 - Alexander Petrovskiy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接