Numpy: Das Importieren des Multiarray-Numpy-Erweiterungsmoduls ist fehlgeschlagen

Erstellt am 20. Juni 2017  Â·  39Kommentare  Â·  Quelle: numpy/numpy

Ich versuche, numpy 1.13.0 zu installieren. Mein Computer ist Windows 7 und meine Python-Installation ist 64-Bit-Python 3.6.0. Ich hatte zuvor eine Àltere Version von numpy installiert (von Christoph Gohlkes Website), aber ich habe das deinstalliert. Ich hatte auch ein paar Anaconda-Installationen, aber ich habe sie auch deinstalliert. Wenn ich jedoch versuche, numpy zu importieren, wird der folgende Fehler angezeigt:

PS 11:46 {00:04.053} D:\experiments                                                                                                                 
>pip install --no-cache numpy                                                                                                                       
Collecting numpy                                                                                                                                    
  Downloading numpy-1.13.0-cp36-none-win_amd64.whl (7.8MB)                                                                                          
    100% |████████████████████████████████| 7.8MB 541kB/s                                                                                           
Installing collected packages: numpy                                                                                                                
Successfully installed numpy-1.13.0                                                                                                                 
PS 11:46 {00:18.096} D:\experiments                                                                                                                 
>python                                                                                                                                             
Python 3.6.0 (v3.6.0:41df79263a11, Dec 23 2016, 08:06:12) [MSC v.1900 64 bit (AMD64)] on win32                                                      
Type "help", "copyright", "credits" or "license" for more information.                                                                              
>>> import numpy                                                                                                                                    
Traceback (most recent call last):                                                                                                                  
  File "C:\Users\UK03306\AppData\Local\Programs\Python\Python36\lib\site-packages\numpy\core\__init__.py", line 16, in <module>                     
    from . import multiarray                                                                                                                        
ImportError: DLL load failed: The specified procedure could not be found.                                                                           

During handling of the above exception, another exception occurred:                                                                                 

Traceback (most recent call last):                                                                                                                  
  File "<stdin>", line 1, in <module>                                                                                                               
  File "C:\Users\UK03306\AppData\Local\Programs\Python\Python36\lib\site-packages\numpy\__init__.py", line 142, in <module>                         
    from . import add_newdocs                                                                                                                       
  File "C:\Users\UK03306\AppData\Local\Programs\Python\Python36\lib\site-packages\numpy\add_newdocs.py", line 13, in <module>                       
    from numpy.lib import add_newdoc                                                                                                                
  File "C:\Users\UK03306\AppData\Local\Programs\Python\Python36\lib\site-packages\numpy\lib\__init__.py", line 8, in <module>                       
    from .type_check import *                                                                                                                       
  File "C:\Users\UK03306\AppData\Local\Programs\Python\Python36\lib\site-packages\numpy\lib\type_check.py", line 11, in <module>                    
    import numpy.core.numeric as _nx                                                                                                                
  File "C:\Users\UK03306\AppData\Local\Programs\Python\Python36\lib\site-packages\numpy\core\__init__.py", line 26, in <module>                     
    raise ImportError(msg)                                                                                                                          
ImportError:                                                                                                                                        
Importing the multiarray numpy extension module failed.  Most                                                                                       
likely you are trying to import a failed build of numpy.                                                                                            
If you're working with a numpy git repo, try `git clean -xdf` (removes all                                                                          
files not under version control).  Otherwise reinstall numpy.                                                                                       

Ich habe jede andere Kopie von Python auf meinem PC ĂŒberprĂŒft und keine von ihnen hat numpy installiert. Ich möchte wirklich nicht meine gesamte Python-Installation deinstallieren und neu installieren, da viele Pakete installiert sind, die ich neu installieren mĂŒsste. Keines der anderen Pakete hat, soweit ich das beurteilen kann, wahrscheinlich Auswirkungen auf numpy (oder wenn ja, sind sie sowieso auf der neuesten Version).

Welche Optionen muss ich herausfinden, was hier falsch ist, bevor ich jede Python-Installation auf meinem Computer löschen und eine vollstĂ€ndige Neuinstallation durchfĂŒhren muss?

00 - Bug

Hilfreichster Kommentar

Windows 10, Python 3.6, installiert mit pip und wenn ich es importiere, wird mir dieser Fehler angezeigt.

`` `
C: \ Users \ Kevin> Python
Python 3.6.0 (v3.6.0: 41df79263a11, 23. Dezember 2016, 07:18:10) [MSC v.1900 32-Bit
(Intel)] auf win32
Geben Sie "Hilfe", "Copyright", "Credits" oder "Lizenz" ein, um weitere Informationen zu erhalten.

numpy importieren
Traceback (letzter Anruf zuletzt):
Datei "D: \ Python3.6 \ libsite-packages \ numpy \ core__init __. Py", Zeile 16, in

von . Multiarray importieren
ImportError: Laden der DLL fehlgeschlagen: Die angegebene Prozedur wurde nicht gefunden.

WĂ€hrend der Behandlung der obigen Ausnahme ist eine weitere Ausnahme aufgetreten:

Traceback (letzter Anruf zuletzt):
Datei "", Zeile 1, in
Datei "D: \ Python3.6 \ libsite-packages \ numpy__init __. Py", Zeile 142, in

von . importiere add_newdocs
Datei "D: \ Python3.6 \ libsite-packages \ numpy \ add_newdocs.py", Zeile 13, in

aus numpy.lib importiere add_newdoc
Datei "D: \ Python3.6 \ libsite-packages \ numpy \ lib__init __. Py", Zeile 8, in

aus .type_check importieren *
Datei "D: \ Python3.6 \ libsite-packages \ numpy \ lib \ type_check.py", Zeile 11, in

importiere numpy.core.numeric als _nx
Datei "D: \ Python3.6 \ libsite-packages \ numpy \ core__init __. Py", Zeile 26, in

Erhöhen Sie ImportError (msg)
ImportError:
Das Importieren des Multiarray-Numpy-Erweiterungsmoduls ist fehlgeschlagen. Die meisten
Wahrscheinlich versuchen Sie, einen fehlgeschlagenen Build von numpy zu importieren.
Wenn Sie mit einem numpy git repo arbeiten, versuchen Sie git clean -xdf (entfernt alle
Dateien, die nicht der Versionskontrolle unterliegen). Andernfalls installieren Sie numpy neu.

UrsprĂŒnglicher Fehler war: DLL-Laden fehlgeschlagen: Die angegebene Prozedur konnte nicht sein
gefunden.

Alle 39 Kommentare

Nein, sollte nicht von anderen Paketen beeinflusst werden. Ich nehme an, Sie haben ĂŒberprĂŒft, dass Ihr PATH oder PYTHONPATH nichts Seltsames enthĂ€lt. Und wenn Sie "Deinstallieren" sagen, sind Sie dann in Ihre site-packages gegangen und haben (ein Windows-Äquivalent von) rm -rf numpy ? Könnte vielleicht ein Rest aus dem

@ Matthew-Brett Ping

Ich habe pip install numpy . Es gibt nichts in Site-Paketen mit "numpy" im Namen danach. Ich habe mich ĂŒber die Möglichkeit gewundert, dass dies daran lag, dass ich zuvor die Builds von @cgohlke verwendet

Es gibt nichts Offensichtliches, was ich auf PATH und ich habe kein PYTHONPATH .

Nach ein bisschen mehr Spielen mit ctypes scheint definitiv etwas mit multiarray :

>>> ctypes.cdll.LoadLibrary(r'C:\users\uk03306\appdata\local\programs\python\python36\lib\site-packages\numpy\core\multiarray.cp36-win_amd64.pyd')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\UK03306\AppData\Local\Programs\Python\Python36\lib\ctypes\__init__.py", line 422, in LoadLibrary
    return self._dlltype(name)
  File "C:\Users\UK03306\AppData\Local\Programs\Python\Python36\lib\ctypes\__init__.py", line 344, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: [WinError 126] The specified module could not be found
>>> ctypes.cdll.LoadLibrary(r'C:\users\uk03306\appdata\local\programs\python\python36\lib\site-packages\numpy\core\umath.cp36-win_amd64.pyd')
<CDLL 'C:\users\uk03306\appdata\local\programs\python\python36\lib\site-packages\numpy\core\umath.cp36-win_amd64.pyd', handle 7fecc110000 at 0x2789eb8>
>>>

Wenn Sie mit Dependency Walker graben, sieht es so aus, als könnten einige Dateien nicht geladen werden (z. B. API-MS-WIN-CORE-WINRT-ERROR-L1-1-0.DLL ).

Eine Suche im Internet zeigt, dass sich diese nur auf Windows 8-Bibliotheken beziehen. Ich gehe davon aus, dass diese versehentlich verknĂŒpft wurden und numpy Windows 7 nicht unterstĂŒtzt.

Siehe https://github.com/dotnet/coreclr/issues/65 und https://answers.microsoft.com/en-us/windows/forum/windows_10-files/missing-api-ms-win-core-dlls / d99d1368-0f92-43db-bbdb-7d080f1f96e9 fĂŒr ein paar Links, die ich bei der Untersuchung dieses Problems gefunden habe.

Als kurzfristige Lösung habe ich auf numpy 1.12.1 zurĂŒckgegriffen

Ich habe gerade mit einem Kollegen gesprochen. Er hat den 32-Bit-Build und das scheint gut zu funktionieren. Es kann sich also um etwas Spezifisches fĂŒr die 64-Bit-BinĂ€rdatei handeln.

Dies ist wahrscheinlich das Python-Problem 29943 . Mit Python 3.6.1 erstellte Erweiterungen funktionieren unter 3.6.0 nicht.

@cgohlke - guter Vorschlag. Aufgrund dieses Fehlers sollten wir das Numpy Wheel mit Python 3.6.0 neu erstellen. Der Standardwert fĂŒr Appveyor ist 3.6.1: https://www.appveyor.com/docs/build-environment/#python

Dieser Fehler sollte jedoch nur Pakete betreffen, die auf PySlices_GetIndicesEx verweisen, und kann diagnostiziert werden, indem ĂŒberprĂŒft wird, ob sich die resultierende BinĂ€rdatei auf PySlice_AdjustIndices bezieht. Ich dachte, Numpy sei nicht betroffen.

Ich habe gerade auf meinem Heim-PC getestet, der Python 3.6.1 hat, und numpy 1.13 funktioniert dort einwandfrei. Mein Heim-PC ist jedoch auch Windows 10 und weist viele andere Unterschiede auf, sodass es kein perfekter Test ist. Ich werde morgen meinen Arbeits-PC auf 3.6.1 aktualisieren und dort testen.

Auf meinem Testcomputer habe ich numpy in einer virtuellen Umgebung fĂŒr Python.org 3.6.0 installiert, den Absturz erhalten, dann Python 3.6.1 installiert und den Absturz nicht erhalten.

Ich kann bestĂ€tigen, dass ein Upgrade auf 3.6.1 mein Problem auf dem Computer behebt, mit dem ich ursprĂŒnglich das Problem hatte. Persönlich bin ich in Ordnung, wenn dieses Problem mit "Upgrade auf 3.6.1" als Lösung geschlossen wird, aber ich ĂŒberlasse es Ihnen, es zu schließen, falls Sie die BinĂ€rdatei lieber reparieren möchten, um 3.6.0 zu unterstĂŒtzen .

@ matthew-brett Ich werde bald eine 1.13.1 machen. Wirst du irgendwelche Änderungen am Build vornehmen?

@charris - Ich denke, wir sollten auf 3.6.0 aufbauen. Ich glaube nicht, dass es eine Möglichkeit gibt, dies mit Appveyor und den Stock Pythons zu tun, also mĂŒssen wir Conda verwenden.

Diesmal habe ich mit dem Bau von Openblas experimentiert, aber es kann eine Weile dauern, bis ich fertig bin - sagen wir eine Woche?

Kann jemand bestĂ€tigen, ob die Windows-RĂ€der einen Verweis auf das Symbol PySlice_AdjustIndices ? Wenn dies der Fall ist, ist das Problem nicht auf Windows beschrĂ€nkt, daher mĂŒssen wir darauf achten, aber es ist zumindest bekannt und wird in Version 3.6.2 behoben, die in KĂŒrze veröffentlicht wird. Wenn nicht, dann passiert etwas anderes, möglicherweise eine bisher unbekannte 3.6.1-Pause, die wir dringend vorab melden sollten.

Cc @zooba

Kann jemand bestÀtigen, ob die Windows-RÀder einen Verweis auf das Symbol PySlice_AdjustIndices ?

Ja, multiarray.cp36-win_amd64.pyd verweist auf PySlice_AdjustIndices und PySlice_Unpack .

huh, ich schwöre, ich habe numpy geprĂŒft, ob es von bpo-29943 betroffen ist, und bin zu dem Schluss gekommen, dass dies nicht der Fall ist. In der Tat sieht es so aus, als hĂ€tte ein Typ namens "njsmith" diese Anrufe letztes Jahr hinzugefĂŒgt: https://github.com/numpy/numpy/pull/7215
Entschuldigung fĂŒr die Verwirrung, nicht sicher, was ich dort dachte.

Windows 10, Python 3.6, installiert mit pip und wenn ich es importiere, wird mir dieser Fehler angezeigt.

`` `
C: \ Users \ Kevin> Python
Python 3.6.0 (v3.6.0: 41df79263a11, 23. Dezember 2016, 07:18:10) [MSC v.1900 32-Bit
(Intel)] auf win32
Geben Sie "Hilfe", "Copyright", "Credits" oder "Lizenz" ein, um weitere Informationen zu erhalten.

numpy importieren
Traceback (letzter Anruf zuletzt):
Datei "D: \ Python3.6 \ libsite-packages \ numpy \ core__init __. Py", Zeile 16, in

von . Multiarray importieren
ImportError: Laden der DLL fehlgeschlagen: Die angegebene Prozedur wurde nicht gefunden.

WĂ€hrend der Behandlung der obigen Ausnahme ist eine weitere Ausnahme aufgetreten:

Traceback (letzter Anruf zuletzt):
Datei "", Zeile 1, in
Datei "D: \ Python3.6 \ libsite-packages \ numpy__init __. Py", Zeile 142, in

von . importiere add_newdocs
Datei "D: \ Python3.6 \ libsite-packages \ numpy \ add_newdocs.py", Zeile 13, in

aus numpy.lib importiere add_newdoc
Datei "D: \ Python3.6 \ libsite-packages \ numpy \ lib__init __. Py", Zeile 8, in

aus .type_check importieren *
Datei "D: \ Python3.6 \ libsite-packages \ numpy \ lib \ type_check.py", Zeile 11, in

importiere numpy.core.numeric als _nx
Datei "D: \ Python3.6 \ libsite-packages \ numpy \ core__init __. Py", Zeile 26, in

Erhöhen Sie ImportError (msg)
ImportError:
Das Importieren des Multiarray-Numpy-Erweiterungsmoduls ist fehlgeschlagen. Die meisten
Wahrscheinlich versuchen Sie, einen fehlgeschlagenen Build von numpy zu importieren.
Wenn Sie mit einem numpy git repo arbeiten, versuchen Sie git clean -xdf (entfernt alle
Dateien, die nicht der Versionskontrolle unterliegen). Andernfalls installieren Sie numpy neu.

UrsprĂŒnglicher Fehler war: DLL-Laden fehlgeschlagen: Die angegebene Prozedur konnte nicht sein
gefunden.

@ matthew-brett Gibt es Neuigkeiten zu diesem Thema? Ich möchte diese Woche, wenn möglich, 1.13.1 herausbringen.

@njsmith Python 3.6.2 erscheint diesen Freitag. Behebt es das Problem und liegt es noch im Zeitplan?

EDIT: Wenn wir mit Python 3.6.0 oder 3.6.2 bauen, funktionieren die RĂ€der dann immer noch mit 3.6.1?

Sieht so aus, als wÀren wir mit 1.12.1 dieser Kugel ausgewichen, aber nur um ein paar Tage ...

Ja, das Erstellen mit 3.6.0 oder 3.6.2 sollte sicher sein, da die resultierenden BinÀrdateien auf allen 3.6.x-Systemen funktionieren.

Wenn wir mĂŒssen, ist es auch möglich, einen PrĂ€prozessor-Hack zu verwenden, um das Problem in 3.6.1 zu umgehen. Ich denke, die entsprechende Beschwörung ist diese: https://github.com/pandas-dev/pandas/blob/24719672685027710cf432023a7fbc3222b0b05c/pandas/_libs/src/compat_helper.h#L29 -L33

Ich arbeite gerade an mingw OpenBLAS-Kompilierungen mit @carlkl . Einige Fortschritte, aber ich kann nicht versprechen, dies in den nÀchsten Tagen zu erreichen. PrÀprozessor-Hack jetzt verwenden?

@ matthew-brett Wenn 3.6.2 am Freitag herauskommt und bald darauf auf Appveyor verfĂŒgbar ist, wĂŒrde ich genauso schnell diesen Weg gehen. Was verwendet Numpy aus Neugier derzeit aus Neugier?

Wir verwenden derzeit ATLAS, aber die Leistung ist ziemlich schlecht. Es wÀre gut, OpenBLAS verwenden zu können, um die Leistung und die Konsistenz mit den Linux-Builds zu gewÀhrleisten.

Ich bin mir nicht sicher, wie lange Appveyor brauchen wird, bevor Python 3.6 auf 3.6.2 aktualisiert wird.

Das gleiche Problem, numpy v1.13.1 und und Python 3.6.1, funktionierten einige Monate, jetzt schlÀgt es einfach fehl. Dies basierte auf einer Conda-Installation mit dem Windows Anaconda Navigator. Mai und Juni 2017 lÀuft der gesamte Code einwandfrei, dann Juli mit einem Update und und Python 3.6.2 "import numpy" funktioniert nicht mehr.

Einige weitere Untersuchungen (nur basierend auf Numpy und Python 3.6.2) fĂŒhren zu
C: \ Anaconda3 \ envs \ tensorflow-cpu \ Libsite-packages \ numpy \ coremultiarray.cp36-win_amd64.pyd
(kompilierte Python-DLL) vom 07.07.2017, die geladen wird
C: \ Windows \ System32 \ mkl_intel_thread.dll (v2009)
C: \ Windows \ System32 \ mkl_core.dll (v2009)
C: \ Windows \ System32 \ libiomp5md.dll (v2009)

Jetzt ist das Problem, dass es mehrere Versionen fĂŒr jede der DLLs gibt (DLL Hölle)
alle verschiedenen Daten, Versionen, DateigrĂ¶ĂŸen. GrundsĂ€tzlich laden Anaconda Navigator oder Spyder oder Python, die in verschiedenen Umgebungen installiert sind, nicht die richtigen DLL-Versionen.


mkl_intel_thread.dll
C: \ Anaconda3 \ Library \ bin \ mkl_intel_thread.dll (Oktober 2016)
C: \ Anaconda3 \ pkgs \ mkl-2017.0.3-0 \ Library \ bin \ mkl_intel_thread.dll (April 2017)
C: \ Windows \ System32 \ mkl_intel_thread.dll (v2009)


mkl_core.dll
C: \ Anaconda3 \ pkgs \ mkl-2017.0.3-0 \ Library \ bin \ mkl_core.dll (April 2017)
C: \ Anaconda3 \ Library \ bin \ mkl_core.dll (Oktober 2016)
C: \ Windows \ System32 \ mkl_core.dll (v2009)


libiomp5md.dll
C: \ Anaconda3 \ pkgs \ mkl-2017.0.3-0 \ Library \ bin \ libiomp5md.dll
C: \ Anaconda3 \ Library \ bin \ libiomp5md.dll
C: \ Anaconda3 \ envs \ tensorflow-cpu \ Library \ bin \ libiomp5md.dll
C: \ Programme (x86) \ Gemeinsame Dateien \ Intel \ Shared Libraries \ redist \ ia32 \ compiler \ libiomp5md.dll
C: \ Programme (x86) \ Gemeinsame Dateien \ Intel \ Shared Libraries \ redist \ intel64 \ compiler \ libiomp5md.dll
C: \ Windows \ System32 \ libiomp5md.dll

jede von ihnen unterschiedliche Versionen, DateigrĂ¶ĂŸen und Versionen. GrundsĂ€tzlich beziehen sich die geladenen Bibliotheken
Dies ist ein Problem beim Laden alter Versionen aus dem Ordner C: \ Windows \ System32 \.

@tobigithub : Wenn Sie Probleme beim Laden von MKL-Bibliotheken haben, sollten Sie dies zu den Anaconda-Entwicklern bringen - das numpy-Projekt verteilt keine BinÀrdateien, die MKL verwenden, und conda hat seine eigenen Möglichkeiten, die DLL-Hölle zu vermeiden, die wir haben kann dir nicht wirklich helfen.

@tobigithub , dies scheint eine Kopie von https://github.com/numpy/numpy/issues/6923 zu sein. Sie können ausprobieren, ob https://github.com/numpy/numpy/issues/6923#issuecomment -168490201 oder https://github.com/numpy/numpy/issues/6923#issuecomment -169073613 fĂŒr Sie funktioniert.

Eine andere Lösung besteht darin, die Software zu finden und zu deinstallieren, die alte MKL-DLLs in die Windows-Systemordner kopiert hat. Sie sollten in Betracht ziehen, auch die weiterverteilbaren MKL-Dateien zu deinstallieren.

@njsmith und @carlkl
Dankeschön. Es gibt buchstĂ€blich Hunderte von Anwendungen, die diese Intel-Bibliotheken verwenden (einschließlich Microsoft und Intel selbst). Wenn Tausende von Anwendungen installiert sind, wird sicher etwas kaputt gehen, aber das Aktualisieren Ă€lterer System-DLLS (2009), wenn sie vor einem neuen Problem liegen, wird wahrscheinlich eine Katastrophe verursachen. Dies kann systemkritisch sein, z. B. wenn ein INTEL RAID-Treiber oder ein USB- oder Grafikadapter ausfĂ€llt. Nur dieses Problem hier zu melden, es ist nur eine Vermutung, numpy 1.13.1 hat vorher gut funktioniert und jetzt im Juli 2017 ist es magisch kaputt. Dies kann mit Softwareinstallationen, Windows-Updates oder anderen Paketen oder Ereignissen zusammenhĂ€ngen, die Fehlermeldung selbst wahrscheinlich hilft auch nicht.

Ähnliche Probleme mit Numpy und DLLs:
https://www.google.com/search?q=numpy+ "Importieren + des + Multiarrays + numpy + Erweiterung + Modul + fehlgeschlagen." & oq = numpy + "Importieren + des + Multiarrays + numpy + Erweiterung + Modul + fehlgeschlagen."

@tobigithub : Es tut mir leid, dass Sie Probleme haben, aber wenn das Problem durch die Interaktion von numpy und MKL verursacht wird, kann das numpy-Projekt nichts dagegen tun. Wir stellen Quellcode bereit, mit dem jeder Numpy erstellen kann, der mit einer beliebigen linearen Algebra-Bibliothek verknĂŒpft ist, und wir stellen BinĂ€rdateien bereit, die mit Openblas verknĂŒpft sind. Wir verknĂŒpfen Numpy jedoch nicht selbst mit MKL oder haben keine Kontrolle darĂŒber, wie die Conda-Entwickler dies einrichten .

Diese Google-Suche findet nur jeden Fall, in dem jemand ein Problem mit Numpy-BinĂ€rdateien hatte. Beispielsweise wurde dieser Fehlerbericht, den Sie kommentieren, abgelegt, um eine InkompatibilitĂ€t zwischen den Numpy-BinĂ€rdateien zu melden, die Sie mit pip install numpy und erhalten Python 3.6.0 und hat nichts mit MKL zu tun. Soweit ich weiß, sind Sie die einzige Person, die Probleme gemeldet hat, die durch alte Versionen von MKL in C:\Windows\System32 . Und es ist sinnvoll, dass dies Probleme verursachen wĂŒrde, da die Windows-DLL-Laderegeln unter der Annahme eingerichtet werden, dass C:\Windows\System32 nur wichtige Betriebssystem-DLLs enthĂ€lt, die niemals von Benutzern ersetzt werden sollten und alles andere ĂŒberschreiben sollten. MKL da rein zu setzen ist wirklich schlecht.

Wenn Ihr RAID- oder USB-Treiber oder was auch immer so kaputt ist, dass andere Software auf Ihrem System kaputt geht, sollten Sie einen Fehler bei ihnen melden? Ich bin mit Ihrer Frustration einverstanden, aber wir können hier buchstĂ€blich nichts tun, um Ihnen zu helfen, außer VorschlĂ€ge zu machen, um die Software zu identifizieren, die tatsĂ€chlich schuld ist. Es ist nicht numpy.

@njsmith
Vielen Dank, ich habe gerade bestĂ€tigt, dass ich eine VM auf einem sauberen Windows 10-System verwendet habe, auf dem noch nie Intel MKL-DLLs (numpy oder conda) gesehen wurden. Alles ist in Ordnung und numpy funktioniert. Ich bin nur verwirrt, wie numpy plötzlich aufhörte zu arbeiten, Dritte sein könnten. Vermutlich muss noch etwas gegraben werden. Mal sehen, was wir herausfinden können, um numpy ironclad fĂŒr jedes AbhĂ€ngigkeitsproblem zu machen.

... ok hier die Lösung

Die Lösung hÀngt in der Tat mit einigen DLL-AbhÀngigkeitsproblemen unter WIN mit Intel MKL-Bibliotheken zusammen
Der Numpy-Importfehler war unter Python 3.6.2 und Numpy 1.13.1:

"numpy importieren"
numpy \ core_init_.py ", Zeile 16, in
von . Multiarray importieren
ImportError: Laden der DLL fehlgeschlagen: Die angegebene Prozedur wurde nicht gefunden.

Die schnelle und schmutzige Lösung besteht darin, alle Intel mkl * .dll-Bibliotheken aus dem Unterordner fĂŒr bestimmte Umgebungen (env) zu kopieren (siehe

<\ Library \ bin> to
<\ Libsite-packages \ numpy \ core>

04/13/2017  12:50 AM        30,277,392 mkl_avx.dll
04/13/2017  12:50 AM        38,253,840 mkl_avx2.dll
04/13/2017  12:50 AM        42,234,640 mkl_avx512.dll
04/13/2017  12:50 AM        45,722,896 mkl_avx512_mic.dll
04/13/2017  12:50 AM        25,369,360 mkl_core.dll
04/13/2017  12:50 AM        24,541,456 mkl_def.dll
04/13/2017  12:50 AM        24,506,640 mkl_intel_thread.dll
04/13/2017  12:50 AM        29,744,400 mkl_mc.dll
04/13/2017  12:50 AM        30,594,320 mkl_mc3.dll
04/13/2017  12:50 AM        12,567,824 mkl_rt.dll
04/13/2017  12:50 AM        11,388,688 mkl_sequential.dll
04/13/2017  12:50 AM        12,575,504 mkl_tbb_thread.dll
04/13/2017  12:50 AM        11,250,960 mkl_vml_avx.dll
04/13/2017  12:50 AM        11,463,952 mkl_vml_avx2.dll
04/13/2017  12:50 AM        10,285,840 mkl_vml_avx512.dll
04/13/2017  12:50 AM        11,692,304 mkl_vml_avx512_mic.dll
04/13/2017  12:50 AM         5,224,208 mkl_vml_cmpt.dll
04/13/2017  12:50 AM         5,345,552 mkl_vml_def.dll
04/13/2017  12:50 AM         9,477,904 mkl_vml_mc.dll
04/13/2017  12:50 AM         9,368,336 mkl_vml_mc2.dll
04/13/2017  12:50 AM         9,593,616 mkl_vml_mc3.dll

Jetzt kann Numpy importiert werden und lÀuft einwandfrei.

Es ist ein Numpy / Conda / Python-Problem unter Windows. Beide Beispiele werden gleichzeitig mit derselben Anaconda Navigator (conda) -Version ausgefĂŒhrt. Das Installieren verschiedener Python-Versionen und das anschließende Testen aller verschiedenen AbhĂ€ngigkeiten und Versionsnummern kann dabei helfen, das Problem zu finden. Danach mĂŒssen CodeĂ€nderungen untersucht werden.

Arbeiten
Python 3.5.3 und numpy 1.10.1 und mkl 2017.0.3

Python 3.5.3 |Continuum Analytics, Inc.| (default, May 15 2017, 10:43:23) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> print (sys.version)
3.5.3 |Continuum Analytics, Inc.| (default, May 15 2017, 10:43:23) [MSC v.1900 64 bit (AMD64)]
>>>
>>> import numpy
>>> numpy.version.version
'1.10.1'
>>>
>>> import numpy as np
>>> a = np.array([1, 2, 3, 4, 5])
>>> print(a)
[1 2 3 4 5]
>>>

Gebrochen
Python 3.5.3 und numpy 1.13.1 und mkl 2017.0.3

Python 3.5.3 |Continuum Analytics, Inc.| (default, May 15 2017, 10:43:23) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> print (sys.version)
3.5.3 |Continuum Analytics, Inc.| (default, May 15 2017, 10:43:23) [MSC v.1900 64 bit (AMD64)]
>>>
>>> import numpy
Traceback (most recent call last):
  File "C:\Anaconda3\envs\python35-numpy-test\lib\site-packages\numpy\core\__init__.py", line 16, in <module>
    from . import multiarray
ImportError: DLL load failed: The specified procedure could not be found.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Anaconda3\envs\python35-numpy-test\lib\site-packages\numpy\__init__.py", line 142, in <module>
    from . import add_newdocs
  File "C:\Anaconda3\envs\python35-numpy-test\lib\site-packages\numpy\add_newdocs.py", line 13, in <module>
    from numpy.lib import add_newdoc
  File "C:\Anaconda3\envs\python35-numpy-test\lib\site-packages\numpy\lib\__init__.py", line 8, in <module>
    from .type_check import *
  File "C:\Anaconda3\envs\python35-numpy-test\lib\site-packages\numpy\lib\type_check.py", line 11, in <module>
    import numpy.core.numeric as _nx
  File "C:\Anaconda3\envs\python35-numpy-test\lib\site-packages\numpy\core\__init__.py", line 26, in <module>
    raise ImportError(msg)
ImportError:
Importing the multiarray numpy extension module failed.  Most
likely you are trying to import a failed build of numpy.
If you're working with a numpy git repo, try `git clean -xdf` (removes all
files not under version control).  Otherwise reinstall numpy.

Original error was: DLL load failed: The specified procedure could not be found.

@tobigithub : Dies ist der falsche Ort, um das zu diskutieren, wie bereits
dir mehrmals erklÀrt. Wenn Sie Probleme mit Anakonda haben, Sie
mĂŒssen sie dem Kontinuum / der Anakonda melden.

Das Appveyor-Problem fĂŒr Python 3.6.2 finden Sie unter https://github.com/appveyor/ci/issues/1770

Die Python 3.6-RĂ€derhersteller scheinen auf Python 3.6.2 aktualisiert zu sein.

KompatibilitÀt. Python Interpreter-Version und Numpy-Version.
pip3 installiert numpy von Version 3.5, daher sollten Sie anaconda verwenden, um eine Python-Umgebung der entsprechenden Version einzurichten

Hatte das gleiche Problem mit Python 3.6.2 und Numpy / Scipy unter Windows 8. Anaconda ist ebenfalls nicht installiert.

Python 3.6.2 (v3.6.2:5fd33b5, Jul  8 2017, 04:14:34) [MSC v.1900 32 bit (Intel)] on win32

C:\Python36\Scripts>pip freeze

numpy==1.14.2
pandas==0.21.0
scipy==1.0.1

Python 2.7 war in der Variablen PATH vorhanden. Entfernte es.

Dann deinstallieren Sie vorhandene scipy- und numpy-Module. Stellen Sie sicher, dass die Befehle als Administrator ausgefĂŒhrt werden.

pip uninstall numpy
pip uninstall scipy

Dann rannte

pip install numpy --upgrade
pip install scipy --upgrade

Dies löste das Problem!

Vielen Dank,
Praveen

Hallo,
Ich erhalte immer noch diesen Fehler.
Python-Version: 3.6.4
numpy version: 1.14.3
Die Stapelverfolgung ist wie folgt:
Traceback (letzter Anruf zuletzt):
Datei "D: \ Personal \ Software \ InstallationDir \ Python \ libsite-packages \ numpy \ core_init_.py", Zeile 16, in
von . Multiarray importieren
ImportError: DLL-Ladevorgang fehlgeschlagen: Der Netzwerkpfad wurde nicht gefunden.

WĂ€hrend der Behandlung der obigen Ausnahme ist eine weitere Ausnahme aufgetreten:

Traceback (letzter Anruf zuletzt):
Datei "pca_svm.py", Zeile 1, in
importiere numpy als np
Datei "D: \ Personal \ Software \ InstallationDir \ Python \ libsite-packages \ numpy_init_.py", Zeile 142, in
von . importiere add_newdocs
Datei "D: \ Personal \ Software \ InstallationDir \ Python \ libsite-packages \ numpy \ add_newdocs.py", Zeile 13, in
aus numpy.lib importiere add_newdoc
Datei "D: \ Personal \ Software \ InstallationDir \ Python \ libsite-packages \ numpy \ lib_init_.py", Zeile 8, in
aus .type_check importieren *
Datei "D: \ Personal \ Software \ InstallationDir \ Python \ libsite-packages \ numpy \ lib \ type_check.py", Zeile 11, in
importiere numpy.core.numeric als nx
Datei "D: \ Personal \ Software \ InstallationDir \ Python \ libsite-packages \ numpy \ core_init.py", Zeile 26, in
Erhöhen Sie ImportError (msg)
ImportError:
Das Importieren des Multiarray-Numpy-Erweiterungsmoduls ist fehlgeschlagen. Die meisten
Wahrscheinlich versuchen Sie, einen fehlgeschlagenen Build von numpy zu importieren.
Wenn Sie mit einem numpy git repo arbeiten, versuchen Sie git clean -xdf (entfernt alle
Dateien, die nicht der Versionskontrolle unterliegen). Andernfalls installieren Sie numpy neu.

UrsprĂŒnglicher Fehler war: DLL-Laden fehlgeschlagen: Der Netzwerkpfad wurde nicht gefunden.

Jede Hilfe wird geschÀtzt.
Vielen Dank,

@ KumarNavneet , das ist ein anderes Problem als das, worum es in diesem Problem geht. Die Ausnahmemeldung zeigt an, dass Sie eine fehlerhafte Installation haben und numpy neu installieren sollten. Wenn das nicht funktioniert, öffnen Sie bitte eine neue Ausgabe und teilen Sie uns genau mit, wie Sie numpy installiert haben.

Dieses Problem mit den 3.6.1-BinÀrdateien, die nicht mit 3.6.0 funktionieren, wurde definitiv behoben, und die Leute veröffentlichen hier weiterhin andere Installationsprobleme, da der Importerfehler Àhnlich aussieht. Daher sperre ich dieses Problem.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

kevinzhai80 picture kevinzhai80  Â·  4Kommentare

Kreol64 picture Kreol64  Â·  3Kommentare

manuels picture manuels  Â·  3Kommentare

dmvianna picture dmvianna  Â·  4Kommentare

qualiaa picture qualiaa  Â·  3Kommentare