importeurror: kan NAAM NUMPY_MKL

Ik probeer de volgende eenvoudige code te gebruiken

import scipy
scipy.test()

Maar ik krijg de volgende fout

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

Ik gebruik Python 2.7 onder Windows 10.

Ik heb scipy, maar dat lijkt het probleem

niet op te lossen

Elke hulp wordt op prijs gesteld.


Antwoord 1, Autoriteit 100%

Als u naar de lijn kijkt die de fout veroorzaakt, ziet u dit:

from numpy._distributor_init import NUMPY_MKL  # requires numpy+mkl

Met deze regel commentaar vermeldt de afhankelijkheid als numpy+mkl(numpymet Intel Math Kernel Library ). Dit betekent dat u de numpyhebt geïnstalleerd door pip, maar de scipyis geïnstalleerd door Precompiled Archive, die verwacht numpy+mkl.

Dit probleem kan eenvoudig worden opgelost door installatie voor numpy+mklvan WHL-bestand van hier .


Antwoord 2, autoriteit 6%

Installeer numpy-1.11.0_XXX.whl (voor uw Python) opnieuw vanaf www.lfd.uci.edu/~gohlke /pythonlibs. Dit bestand heeft dezelfde naam en versie in vergelijking met de variant die ik eerder op 29.03.2016 heb gedownload, maar de grootte en inhoud verschillen van de oude variant. Na herinstallatie is de fout verdwenen.

Tweede optie – ga terug naar scipy 0.17.0 van 0.17.1

P.S. Ik gebruik Windows 64-bits versie van Python 3.5.1, dus ik kan niet garanderen dat numpy voor Python 2.7 al is gecorrigeerd.


Antwoord 3, autoriteit 5%

Ik weet niet zeker of dit een goede oplossing is, maar de fout is verholpen.
Ik becommentarieerde de regel:

from numpy._distributor_init import NUMPY_MKL 

en het werkte. Ik weet niet zeker of hierdoor andere functies kapot gaan


Antwoord 4, autoriteit 3%

Ik had hetzelfde probleem tijdens het installeren van gensim op Windows. Gensim is afhankelijk van scipy en scipy van numpy. Alle drie laten werken is echte pijn. Het kostte me veel tijd om alles op hetzelfde moment te laten werken.

Oplossing:
Als je Windows gebruikt, zorg er dan voor dat je numpy+mkl installeert in plaats van alleen numpy.
Als je scipy en numpy al hebt geïnstalleerd, verwijder dan de installatie en gebruik vervolgens “pip uninstall scipy” en “pip uninstall numpy”

Download dan numpy-1.13.1+mkl-cp34-cp34m-win32.whl van http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy
en installeer met pip install numpy-1.13.1+mkl-cp34-cp34m-win32.wh
Opmerking: in cp34-cp34m staat 34 voor de versie van python die u gebruikt, dus download de relevante versie.

Download scipy nu van http://www.lfd.uci.edu /~gohlke/pythonlibs/#scipy(geschikte versie voor uw python en systeem)
en installeer met “pip install scipy-0.19.1-cp34-cp34m-win32.whl”

Je numpy en Scipy zouden nu allebei moeten werken.
Deze binaries van Christoph Gohlke maken het heel eenvoudig om Python-pakketten op Windows te installeren. Maar zorg ervoor dat u alle afhankelijke pakketten van daaruit downloadt.


Antwoord 5

Ik heb niet genoeg reputatie om commentaar te geven, maar ik wil eraan toevoegen dat het cp-nummer van het .whl-bestand staat voor uw python-versie.

cp35 -> Python 3.5.x

cp36 -> Python 3.6.x

cp37 -> Python 3.7.x

Ik denk dat het vrij duidelijk is, maar toch heb ik hierdoor bijna een uur verspild en misschien hebben andere mensen daar ook moeite mee.

Dus voor mij werkte versie cp36 die ik hier heb gedownload: https:// www.lfd.uci.edu/~gohlke/pythonlibs/#numpy
aangezien ik Python 3.6.8 gebruik.

Toen heb ik numpy verwijderd:

pip uninstall numpy 

Toen installeerde ik numpy+mkl:

pip install <destination of your .whl file>

Antwoord 6

De reden voor de fout is dat je je numpy-bibliotheek hebt geüpgraded, waarvan er enkele functionaliteiten van scipy zijn die door de huidige versie vereist zijn om te kunnen werken, die mogelijk niet in scipy worden gevonden. Upgrade gewoon uw scipy-bibliotheek met python -m pip install scipy –upgrade. Ik had dezelfde fout en deze oplossing werkte op mijn python 3.5.


Antwoord 7

Uit je log blijkt duidelijk dat het numpypakket ontbreekt. Zoals vermeld in het PyPI-pakket:

De SciPy-bibliotheek is afhankelijk van NumPy, dat gemakkelijke en snelle N-dimensionale arraymanipulatie biedt.

Dus, probeer het numpypakket voor python te installeren zoals je deed met scipy.


Antwoord 8

Ik kreeg onlangs dezelfde fout bij het laden van scipy in jupyter (python3.x, win10), hoewel ik net een upgrade naar numpy-1.13.3+mkl via pip had uitgevoerd.
De oplossing was om eenvoudig het scipy-pakket te upgraden (van v0.19 naar v1.0.0).


Antwoord 9

ja, installeer numpy gewoon opnieuw, het werkt.

Other episodes