IT

ImportError : NUMPY_MKL 이름이 없습니다.

lottoking 2020. 8. 31. 08:05
반응형

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( numpywith Intel Math Kernel Library )로 나타납니다. 이는 numpy로를 설치 pip했지만 scipy은를 예상하는 사전 컴파일 된 아카이브에 의해 설치되었음을 의미합니다 numpy+mkl.

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


다시 설치 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가 이미 수정을 보장 할 수 없습니다.


확실하지 않은 오류를 제거했습니다. 나는 줄을 주석으로 처리했다.

from numpy._distributor_init import NUMPY_MKL 

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


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 패키지를 매우 쉽게 사용할 수 있습니다. 사이트에있는 모든 패키지를 다운로드 확인하십시오.


오류의 원인은 scipy에서 현재 버전에서 실행하는 데 필요한 scipy의 일부 기능이있는 numpy 라이브러리를 업그레이드 때문입니다. python -m pip install scipy --upgrade를 사용하여 scipy 라이브러리를 업그레이드하십시오. 나는 같은 오류에 직면하고 있습니다.


나는할만한 평판이 충분하지 않지만 .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>

로그에서 numpy패키지가 포함되어 있어야 합니다. PyPI 패키지 에서 언급했듯이 :

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

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


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


예, 그냥 numpy를 다시 설치하면 작동합니다.

참고 URL : https://stackoverflow.com/questions/37267399/importerror-cannot-import-name-numpy-mkl

반응형