ImportError:无法导入名称NUMPY_MKL

我试图运行以下简单的代码

import scipy scipy.test() 

但是我收到以下错误

 Traceback (most recent call last): File "<stdin>", line 1, in <module> File "C:\Python27\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 586, in runfile execfile(filename, namespace) File "C:/Users/Mustafa/Documents/My Python Code/SpectralGraphAnalysis/main.py", line 8, in <module> import scipy File "C:\Python27\lib\site-packages\scipy\__init__.py", line 61, in <module> from numpy._distributor_init import NUMPY_MKL # requires numpy+mkl ImportError: cannot import name NUMPY_MKL 

我在Windows 10下使用python 2.7。

我已经安装了scipy但似乎并没有解决问题

任何帮助表示赞赏。

如果你看看导致错误的行,你会看到:

 from numpy._distributor_init import NUMPY_MKL # requires numpy+mkl 

此行注释将依赖关系指定为numpy+mklnumpyIntel Math Kernel Library )。 这意味着你已经安装scipy pip ,但是scipy是通过预编译的压缩文件安装的,这个压缩文件需要numpy+mkl

这个问题可以很容易地从这里从whl文件安装numpy+mkl来解决。

从www.lfd.uci.edu/~gohlke/pythonlibs重新安装numpy-1.11.0_XXX.whl(对于你的Python)。 如果与我之前下载的版本相比,此文件具有相同的名称和版本,但其大小和内容与旧版本不同。 重新安装错误消失后。

第二个选项 – 从0.17.1返回scipy 0.17.0

PS我使用的是Python 3.5.1的Windows 64位版本,所以不能保证Python 2.7的numpy已经被修正了。

我不确定这是否是一个好的解决scheme,但它消除了错误。 我注意到了这一行:

 from numpy._distributor_init import NUMPY_MKL 

它的工作。 不知道这是否会导致其他function突破

在windows上安装gensim时,我遇到了同样的问题。 Gensim依赖于scipy和scipy在numpy上。 让所有三个工作是真正的痛苦。 我花了很多时间让所有的工作在同一时间。

解决scheme:如果你使用Windows,请确保你安装numpy + mkl而不是numpy。 如果你已经安装了scipy和numpy,卸载然后使用“点卸载scipy”和“点击unistall numpy”

然后从http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy下载numpy-1.13.1 + mkl-cp34-cp34m-win32.whl并使用pip install安装numpy-1.13.1 + mkl- cp34-cp34m-win32.wh注意:在cp34-cp34m中,34代表你正在使用的python版本,所以下载相关的你的python的vesrsion。

现在从http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy (适用于您的python和系统的版本)下载scipy并使用“pip install scipy-0.19.1-cp34-cp34m-win32”进行安装。世界高血压联盟”

你的numpy和Scipy都应该现在工作。 这些Christoph Gohlke的二进制文件使得在Windows上安装python包变得非常容易。 但请确保您从那里下载所有相关软件包。

从你的日志中清楚地看到那个numpy软件包丢失了。 正如PyPI包中提到的:

SciPy库依赖于NumPy,它提供了便捷的N维数组操作。

所以,请尝试安装Python的numpy包,就像你用scipy做的scipy