Я пытаюсь запустить следующий простой код
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 под окнами 10.
Я установил scipy
, но это не похоже на проблему.
Любая помощь приветствуется.
Ответ 1
Если вы посмотрите на строку, вызывающую ошибку, вы увидите следующее:
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 файла из здесь.
Ответ 2
Переустановите numpy-1.11.0_XXX.whl(для вашего Python) из www.lfd.uci.edu/~gohlke/pythonlibs. Этот файл имеет то же имя и версию, если сравнивать с вариантом, загруженным мной ранее 29.03.2016, но его размер и содержание отличаются от старого варианта. После повторной установки ошибка исчезла.
Второй вариант - вернитесь назад к scipy 0.17.0 из 0.17.1
P.S. Я использую 64-разрядную версию Windows Python 3.5.1, поэтому не могу гарантировать, что numpy для Python 2.7 уже исправлен.
Ответ 3
Я не уверен, что это хорошее решение, но оно устранило ошибку.
Я прокомментировал строку:
from numpy._distributor_init import NUMPY_MKL
и это сработало. Не уверен, что это приведет к поломке других функций, хотя
Ответ 4
У меня была такая же проблема при установке 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 на Windows. Но убедитесь, что вы загрузили все зависимые пакеты оттуда.
Ответ 5
Причиной ошибки является то, что вы обновили свою библиотеку numpy, в которой есть некоторые функциональные возможности scipy, которые требуются текущей версии для запуска, которые могут отсутствовать в scipy. Просто обновите свою библиотеку scipy, используя Python -m pip install scipy --upgrade. Я столкнулся с той же ошибкой, и это решение работало на моем Python 3.5.
Ответ 6
Из вашего журнала ясно, что пакет numpy
отсутствует. Как упоминалось в пакете PyPI:
Библиотека SciPy зависит от NumPy, которая обеспечивает удобную и быструю манипуляцию с N-мерным массивом.
Итак, попробуйте установить пакет numpy
для python, как вы это сделали с scipy
.
Ответ 7
Недавно я получил ту же ошибку при попытке загрузить scipy в jupyter (python3.x, win10), хотя просто обновился до numpy-1.13.3 + mkl через pip.
Решение состояло в том, чтобы просто обновить scipy-пакет (от версии 0.19 до версии 1.0.0).
Ответ 8
да, просто переустанови numpy, все работает.
Ответ 9
У меня недостаточно репутации, чтобы комментировать, но я хочу добавить, что число cp файла .whl соответствует вашей версии на python.
cp35 → Python 3.5.x
cp36 → Python 3.6.x
cp37 → Python 3.7.x
Я думаю, это довольно очевидно, но все же я потратил почти час из-за этого, и, возможно, другие люди тоже с этим борются.
Так что для меня работала версия cp36, которую я скачал здесь: https://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy, так как я использую Python 3.6.8.
Тогда я удалил NumPy:
pip uninstall numpy
Затем я установил numpy + mkl:
pip install <destination of your .whl file>