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+mkl
( numpy
与Intel 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
。