ImportError:无法导入名称NUMPY_MKL

Ste*_*eve 92 python windows numpy scipy python-2.7

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

import scipy
scipy.test()
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误

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
Run Code Online (Sandbox Code Playgroud)

我在Windows 10下使用python 2.7.

我安装scipy但似乎没有解决问题

任何帮助表示赞赏.

VMA*_*Atm 222

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

from numpy._distributor_init import NUMPY_MKL  # requires numpy+mkl
Run Code Online (Sandbox Code Playgroud)

此行注释将依赖性声明为numpy+mkl(numpy使用Intel Math Kernel Library).这意味着您已经安装了numpyby pip,但是scipy由预编译存档安装,这是期望的numpy+mkl.

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

  • 这个解决方案适用于我在Windows上运行Python 2.7.10 (5认同)
  • @VMAtm我们可以在相同的virtualenvs中同时安装numpy(来自pip)和numpy + mkl(来自预编译的libs)吗? (2认同)
  • 解决方案在python 2.7 windows 7上完美运行.节省了我很多时间,谢谢你! (2认同)

And*_*rew 14

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

第二种选择 - 从0.17.1返回scipy 0.17.0

PS我使用的是Windows 64位版本的Python 3.5.1,因此无法保证Python 2.7的numpy已经得到纠正.


Len*_*nny 11

我不确定这是否是一个好的解决方案,但它删除了错误.我评论说:

from numpy._distributor_init import NUMPY_MKL 
Run Code Online (Sandbox Code Playgroud)

它起作用了.不确定这是否会导致其他功能中断

  • :)有趣的是它确实有效,并且在scipy的linux版本中没有这样的行. (3认同)

use*_*442 7

我在Windows上安装gensim时遇到了同样的问题.Gensim依赖于scipy和scipy on numpy.让所有三项工作都是真正的痛苦.我花了很多时间让所有工作同时进行.

解决方案:如果您使用的是Windows,请确保安装numpy + mkl而不是numpy.如果你已经安装了scipy和numpy,那么先使用"pip uninstall scipy"和"pip uninstall 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版本,因此请下载相关版本.

现在从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包变得非常容易.但请确保从那里下载所有依赖包.