it-swarm.com.ru

Ошибка импорта: невозможно импортировать имя 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

Я использую Python 2.7 под Windows 10.

Я установил scipy, но это не решает проблему

Любая помощь приветствуется.

88
Steve

Если вы посмотрите на строку, которая вызывает ошибку, вы увидите это:

from numpy._distributor_init import NUMPY_MKL  # requires numpy+mkl

Этот строковый комментарий утверждает зависимость как numpy+mkl (numpy с Intel Math Kernel Library ). Это означает, что вы установили numpy с помощью pip, но scipy был установлен скомпилированным архивом, который ожидает numpy+mkl.

Эта проблема может быть легко решена установкой numpy+mkl из файла whl из здесь .

218
VMAtm

Переустановите numpy-1.11.0_XXX.whl (для вашего Python) с www.lfd.uci.edu/~gohlke/pythonlibs . Этот файл имеет то же имя и версию, если сравнивать с вариантом, скачанным мной ранее 29.03.2016, но его размер и содержание отличаются от старого варианта. После переустановки ошибка исчезла.

Второй вариант - вернуться к scipy 0.17.0 с 0.17.1

Постскриптум Я использую 64-битную версию Python для Windows 3.5.1, поэтому не могу гарантировать, что numpy для Python 2.7 уже исправлен. 

14
Andrew

Я не уверен, что это хорошее решение, но оно устранило ошибку. Я закомментировал строку: 

from numpy._distributor_init import NUMPY_MKL 

и это сработало. Не уверен, что это приведет к поломке других функций

11
Lenny

У меня была такая же проблема при установке gensim на windows. Gensim зависит от scipy и scipy от numpy. Делать все три работы - настоящая боль. Мне потребовалось много времени, чтобы все там работало в одно и то же время.

Решение: Если вы используете Windows, убедитесь, что вы установили numpy + mkl вместо просто numpy . Если вы уже установили scipy и numpy, удалите их, используя «pip uninstall scipy» и «pip uninstall numpy»

Затем загрузите numpy-1.13.1 + mkl-cp34-cp34m-win32.whl из http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy И установите с помощью pip install numpy -1.13.1 + mkl-cp34-cp34m-win32.wh Примечание: в cp34-cp34m 34 ​​представлена ​​версия Python, которую вы используете, поэтому загрузите соответствующую версию.

Теперь загрузите scipy с http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy (соответствующая версия для вашего питона и системы) И установите с помощью "pip install scipy ‑ 0.19.1 -cp34-cp34m-win32.whl»

Ваш numpy и Scipy оба должны работать сейчас. Эти двоичные файлы от Christoph Gohlke упрощают установку пакетов python на окна. Но убедитесь, что вы загрузили все зависимые пакеты оттуда.

7
user3046442

Причиной ошибки является то, что вы обновили свою библиотеку numpy, в которой есть некоторые функциональные возможности scipy, которые требуются текущей версии для запуска, которые могут отсутствовать в scipy. Просто обновите вашу библиотеку scipy, используя python -m pip install scipy --upgrade. Я столкнулся с той же ошибкой, и это решение работало на моем Python 3.5.

1
Simbarashe Mupfururirwa

Из вашего журнала ясно, что пакет numpy отсутствует. Как упомянуто в пакете PyPI :

Библиотека SciPy зависит от NumPy, который обеспечивает удобную и быструю манипуляцию с N-мерным массивом.

Итак, попробуйте установить пакет numpy для python, как вы это делали с scipy.

0
manoj prashant k

Недавно я получил ту же ошибку при попытке загрузить scipy в jupyter (python3.x, win10), хотя я просто обновился до numpy-1.13.3 + mkl через pip. Решением было просто обновить пакет scipy (с v0.19 до v1.0.0).

0
E. V.

да, просто переустанови numpy, все работает.

0
feng ling