ImportError : NUMPY_MKL 이름을 가져올 수 없습니다.


92

다음과 같은 간단한 코드를 실행하려고합니다.

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했지만 문제가 해결되지 않는 것 같습니다.

도움을 주시면 감사하겠습니다.

답변:


223

오류를 일으키는 줄을 보면 다음과 같이 표시됩니다.

from numpy._distributor_init import NUMPY_MKL  # requires numpy+mkl

이 줄의 코멘트는 종속 상태 numpy+mkl( numpy인텔 수학 커널 라이브러리 ). 이는 numpyby를 설치 pip했지만 scipy은를 예상하는 사전 컴파일 된 아카이브에 의해 설치되었음을 의미합니다 numpy+mkl.

이 문제는 여기numpy+mkl 에서 whl 파일을 설치하여 쉽게 해결할 수 있습니다 .


5
이 솔루션은 Windows에서 Python 2.7.10을 실행하는 저에게
효과적이었습니다

2
@VMAtm 동일한 virtualenvs에 numpy (from pip)와 numpy + mkl (from precompiled libs)을 둘 다 설치할 수 있습니까?
StrawhatLuffy

내가 아는 한 대답은 '아니오'입니다. (내가 잘 이해한다면) 몇 가지 프로세서 명령만으로 끝이 멍청하기 때문에 그들은 서로를 unstalling하고 있습니다
VMAtm

2
솔루션은 Python 2.7 Windows 7에서 완벽하게 작동했습니다. 많은 시간을 절약했습니다. 감사합니다!
sel

pip install <numpy wheel path> --user는 권한 문제가 발생했을 때 나를 위해 일했습니다.
Amit Kumar

14

다시 설치 NumPy와-1.11.0_XXX.whl에서 (파이썬 용) www.lfd.uci.edu/~gohlke/pythonlibs . 이 파일은 2016 년 3 월 29 일 이전에 내가 다운로드 한 변형과 ​​비교하면 이름과 버전이 같지만 크기와 내용이 이전 변형과 다릅니다. 재설치 후 오류가 사라졌습니다.

두 번째 옵션-0.17.1에서 scipy 0.17.0으로 돌아 가기

추신 : Windows 64 비트 버전의 Python 3.5.1을 사용하므로 Python 2.7 용 numpy가 이미 수정되었다고 보장 할 수 없습니다.


11

이것이 좋은 해결책인지 확실하지 않지만 오류를 제거했습니다. 나는 줄을 주석으로 처리했다.

from numpy._distributor_init import NUMPY_MKL 

그리고 그것은 작동했습니다. 이로 인해 다른 기능이 중단되는지 확실하지 않습니다.


3
:) 흥미로운 점은 실제로 작동하고 scipy의 Linux 버전에는 그러한 줄이 없다는 것입니다.
dzmitry

7

Windows에 gensim을 설치하는 동안 동일한 문제가 발생했습니다. Gensim은 scipy에 의존하고 scipy는 numpy에 의존합니다. 세 가지 작업을 모두 수행하는 것은 정말 고통 스럽습니다. 모든 작업을 동시에 처리하는 데 많은 시간이 걸렸습니다.

해결책 : Windows를 사용하는 경우 numpy 대신 numpy + mkl을 설치해야합니다. 이미 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를 사용하여 설치합니다. whl "

이제 numpy와 Scipy가 모두 작동합니다. Christoph Gohlke의이 바이너리를 사용하면 Windows에 Python 패키지를 매우 쉽게 설치할 수 있습니다. 그러나 거기에서 모든 종속 패키지를 다운로드했는지 확인하십시오.


python 3.6과 함께 scipy를 설치하는 데 문제가 있었기 때문에 3.6에서 python 3.4로 되돌 렸습니다
user3046442

3

나는 논평 할만한 평판이 충분하지 않지만 .whl 파일의 cp 번호가 파이썬 버전을 의미한다고 덧붙이고 싶습니다.

cp35-> Python 3.5.x

cp36-> Python 3.6.x

cp37-> Python 3.7.x

나는 그것이 꽤 명백하다고 생각하지만 여전히 나는 이것 때문에 거의 한 시간을 낭비했고 아마도 다른 사람들도 그것으로 어려움을 겪을 것입니다.

그래서 저는 Python 3.6.8을 사용하고 있기 때문에 https://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy에서 다운로드 한 버전 cp36을 사용했습니다.

그런 다음 numpy를 제거했습니다.

pip uninstall numpy 

그런 다음 numpy + mkl을 설치했습니다.

pip install <destination of your .whl file>

2

오류의 이유는 scipy에서 찾을 수없는 현재 버전에서 실행하는 데 필요한 scipy의 일부 기능이있는 numpy 라이브러리를 업그레이드했기 때문입니다. python -m pip install scipy --upgrade를 사용하여 scipy 라이브러리를 업그레이드하십시오. 나는 같은 오류에 직면 했고이 솔루션은 파이썬 3.5에서 작동했습니다.


0

로그에서 numpy패키지가 누락 되었음을 분명히 알 수 있습니다. PyPI 패키지 에서 언급했듯이 :

SciPy 라이브러리는 편리하고 빠른 N 차원 배열 조작을 제공하는 NumPy에 의존합니다.

따라서 numpy.NET에서했던 것처럼 Python 용 패키지를 설치해보십시오 scipy.


3
나는 또한 그것을 설치했다. 어떤 이유에서인지 Spyder를 닫고 다시 실행해야 문제가 해결되었습니다. 어쨌든 감사합니다.
Steve

2
이 오류는 numpy가 MKL 지원으로 컴파일되지 않은 경우 numpy가있는 경우에도 발생합니다.
KDN

일했다. 덕분에 내 scikit부터였다 lfd.uci.edu/~gohlke/pythonlibs는 그래서 같은 배포판에서 NumPy와 사용했다
Anuvrat Tiku

0

최근 pip를 통해 numpy-1.13.3 + mkl로 업그레이드했지만 jupyter (python3.x, win10)에서 scipy를로드하려고 할 때 동일한 오류가 발생했습니다. 해결책은 단순히 scipy 패키지 (v0.19에서 v1.0.0으로)를 업그레이드하는 것입니다.


매우 유사한 문제가 발생할 때 사용한 수정 사항을 제공하고 싶었습니다.
EV

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.