Numpy: ImportError: Das Laden der DLL ist für numpy 1.16.1 fehlgeschlagen

Erstellt am 12. Feb. 2019  ·  21Kommentare  ·  Quelle: numpy/numpy

Erstellen Sie mit Anaconda Navigator 1.9.6 unter Windows 10 eine neue virtuelle Umgebung, wählen Sie Python 3.7 aus und benennen Sie python37

In der Konsole von VSCode:

  • aktiviere python37
  • pip install numpy
(python37) D:\TfsProj\alphastone>pip install numpy
Collecting numpy
  Using cached https://files.pythonhosted.org/packages/41/b8/3a6b07352c2542ca1c89be7583e7ca07bf513895b6ac59ae008054f326b1/numpy-1.16.1-cp37-cp37m-win_amd64.whl
Installing collected packages: numpy
Successfully installed numpy-1.16.1

(Gleiches gilt für den Parameter --no-cache-dir)

  • Python
  • numpy importieren
(python37) D:\TfsProj\alphastone>python
Python 3.7.2 (default, Feb 11 2019, 14:11:50) [MSC v.1915 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
Traceback (most recent call last):
  File "C:\Users\Name\.conda\envs\python37\lib\site-packages\numpy\core\__init__.py", line 16, in <module>
    from . import multiarray
  File "C:\Users\Name\.conda\envs\python37\lib\site-packages\numpy\core\multiarray.py", line 12, in <module>
    from . import overrides
  File "C:\Users\Name\.conda\envs\python37\lib\site-packages\numpy\core\overrides.py", line 6, in <module>
    from numpy.core._multiarray_umath import (
ImportError: DLL load failed: Das angegebene Modul wurde nicht gefunden.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\Name\.conda\envs\python37\lib\site-packages\numpy\__init__.py", line 142, in <module>
    from . import core
  File "C:\Users\Name\.conda\envs\python37\lib\site-packages\numpy\core\__init__.py", line 47, in <module>
    raise ImportError(msg)
ImportError:

IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!

Alle Ratschläge, Neuinstallationen über pip und conda oder verschiedene numpy-Versionen (z. B. 1.15.4) haben dieses Problem für mich nicht gelöst.

Wenn ich mehrere Pip-Deinstallationen von numpy durchführe, bis kein numpy mehr vorhanden ist, und dann eine Conda-Installation von numpy durchführe, funktioniert der Import von numpy interessanterweise (in 1.15.4).

Eine Conda-Installationsnummer führt Folgendes aus:

The following NEW packages will be INSTALLED:

  blas               pkgs/main/win-64::blas-1.0-mkl
  icc_rt             pkgs/main/win-64::icc_rt-2019.0.0-h0cc432a_1
  intel-openmp       pkgs/main/win-64::intel-openmp-2019.1-144
  mkl                pkgs/main/win-64::mkl-2019.1-144
  mkl_fft            pkgs/main/win-64::mkl_fft-1.0.10-py37h14836fe_0
  mkl_random         pkgs/main/win-64::mkl_random-1.0.2-py37h343c172_0
  numpy              pkgs/main/win-64::numpy-1.15.4-py37h19fb1c0_0
  numpy-base         pkgs/main/win-64::numpy-base-1.15.4-py37hc3f5095_0

Was fehlt für den Pip Way?
Irgendwelche Ideen?

00 - Bug 29 - InteAnaconda

Hilfreichster Kommentar

Es gibt einen Unterschied zwischen dem Speicherort der zusätzlichen Support-Bibliotheken, die mit Anaconda geliefert werden, und denen, die mit Stock Numpy geliefert werden und die Sie von pip install . Dies erfordert Anpassungen an der Variablen PATH . Möglicherweise schlagen die Anpassungen von PATH beim Import fehl. Existiert das Verzeichnis site-packages\numpy\.libs und enthält es *.dll Dateien? Wenn ja, können Sie versuchen, dieses Verzeichnis Ihrem PATH voranzustellen, bevor Sie Python ausführen:

rem This fails
python -c "import numpy"

rem Does this succeed ??? 
PATH=path\to\site-packages\numpy\.libs;%PATH%
python -c "import numpy"

Bitte melden Sie uns, wenn dieses Verzeichnis vorhanden ist und wenn das Ändern des Pfads erfolgreich ist, zeigt dies an, dass der Code in numpy\__config__.py die os.environ['PATH'] nicht ändern kann. Möglicherweise haben Sie die zulässige Länge von PATH überschritten, oder es liegt ein anderes Problem mit Ihrer Umgebungsvariablen PATH .

Anaconda platziert die zusätzlichen DLLs in <anaconda install>\Library\bin und fügt dieses Verzeichnis dem Pfad hinzu, wenn Sie eine Anaconda-Umgebung aktivieren. Stock numpy versucht, wie oben beschrieben, das Verzeichnis .lib an das Ende der Variablen PATH anzuhängen.

Alle 21 Kommentare

Es gibt einen Unterschied zwischen dem Speicherort der zusätzlichen Support-Bibliotheken, die mit Anaconda geliefert werden, und denen, die mit Stock Numpy geliefert werden und die Sie von pip install . Dies erfordert Anpassungen an der Variablen PATH . Möglicherweise schlagen die Anpassungen von PATH beim Import fehl. Existiert das Verzeichnis site-packages\numpy\.libs und enthält es *.dll Dateien? Wenn ja, können Sie versuchen, dieses Verzeichnis Ihrem PATH voranzustellen, bevor Sie Python ausführen:

rem This fails
python -c "import numpy"

rem Does this succeed ??? 
PATH=path\to\site-packages\numpy\.libs;%PATH%
python -c "import numpy"

Bitte melden Sie uns, wenn dieses Verzeichnis vorhanden ist und wenn das Ändern des Pfads erfolgreich ist, zeigt dies an, dass der Code in numpy\__config__.py die os.environ['PATH'] nicht ändern kann. Möglicherweise haben Sie die zulässige Länge von PATH überschritten, oder es liegt ein anderes Problem mit Ihrer Umgebungsvariablen PATH .

Anaconda platziert die zusätzlichen DLLs in <anaconda install>\Library\bin und fügt dieses Verzeichnis dem Pfad hinzu, wenn Sie eine Anaconda-Umgebung aktivieren. Stock numpy versucht, wie oben beschrieben, das Verzeichnis .lib an das Ende der Variablen PATH anzuhängen.

Ihre Methode funktioniert in der Tat!
C: \ Users \ Name.conda \ envs \ test37 \ Lib \ site-packages \ numpy.libs ist vorhanden und enthält eine Datei:
libopenblas.IPBC74C7KURV7CB2PKT5Z5FNR3SIBV4J.gfortran-win_amd64.dll

Ich werde eine Neuinstallation mit einem kürzeren Anfangspfad versuchen, um Ihre Therapie in etwa einer Stunde zu überprüfen.

Nebenfrage: Sollte es nicht mehr DLLs auf diesem Pfad geben? Ich möchte OpenMP und mkl mit pytorch verwenden, nicht openblas ...

Wenn Sie mkl verwenden möchten, verwenden Sie conda, nicht pip

Entschuldigung, verwenden Sie pip install intel-numpy nicht pip install numpy , aber Sie erhalten numpy 1.15.1 . Conda macht es einfacher, und es scheint, dass Sie Anaconda verwenden. Wenn Sie also wahrscheinlich bei Conda bleiben, erhalten Sie eine einheitlichere Erfahrung.

Ok, ich habe meinen PATH gekürzt und es funktioniert immer noch nicht mit "pip install numpy".
Dies wird meinem PFAD vorangestellt, wenn ich "testa aktiviere 37":
PATH = C: \ Benutzer \ Name.conda \ envs \ test37; C: \ Benutzer \ Name.conda \ envs \ test37 \ Bibliothek \ mingw-w64 \ bin; C: \ Benutzer \ Name.conda \ envs \ test37 \ Bibliothek \ usr \ bin; C: \ Benutzer \ Name.conda \ envs \ test37 \ Library \ bin; C: \ Benutzer \ Name.conda \ envs \ test37 \ Skripte; C: \ Benutzer \ Name.conda \ envs \ test37 \ Behälter;...

Mein PFAD ist noch lang, aber ich kann nichts mehr daraus entfernen, da andere Tools ihn so benötigen, wie er ist.

Warum gibt es keine conda numpy 1.16.1?

Danke für deine Hilfe, Kumpel!

(test37) D: \ test> pip install intel-numpy

Collecting intel-numpy
Could not find a version that satisfies the requirement intel-numpy (from versions: )
No matching distribution found for intel-numpy

"conda install numpy" gibt mir 1.15.4, was gut funktioniert.

@ Mattip

Vielleicht sollten wir die Notwendigkeit eines Mangelns dieses Pfades statisch verknüpfen und verringern

Könnte dieses Problem bei der PATH-Bearbeitung in numpy für neuere Python-Versionen denselben Grund haben?
https://github.com/pytorch/pytorch/issues/4518#issuecomment-463224849 -> https://github.com/pytorch/pytorch/issues/17051

Ich habe die gleiche Art von Fehler auch für scipy. Nachdem ich eine Umgebung mit conda erstellt hatte, musste ich mit pip deinstallieren und mit conda für alle Pakete installieren, die ein Problem für mich verursachten. Das hat bei mir funktioniert, obwohl es keine ideale Lösung ist, da dies eine sehr manuelle Operation war.

@djdookie : Nur um sicher zu sein, was funktioniert hat und was nicht. Sie haben die DLL in C:\Users\Name.conda\envs\test37\Lib\site-packages\numpy.libs . Das vor dem Starten von Python auf PATH vorzubereiten, hat funktioniert. Könnten Sie versuchen, dies an das Ende von PATH anzuhängen (mit einem ';' - Trennzeichen) und zu testen, ob ein von Pip installierter Numpy funktioniert (möglicherweise in einer neuen Conda-Umgebung, die den Pfad ändern würde)?

Bearbeiten: Beachten Sie, dass die neue Umgebung einen anderen Pfad zur DLL haben würde

Es scheint, dass dies eine kaputte Ananconda ist, siehe diese Ausgabe ContinuumIO / Anaconda-Ausgaben # 10628

Schließen. Anaconda scheint das Problem behoben zu haben, das dies verursacht hat.

Ich habe gerade die neueste Windows-Version von conda für python3.7 für Windows 7 heruntergeladen und dieses Problem festgestellt. Können wir wieder öffnen?

Ich löse das Problem. Es war ein Pfadproblem, als ich WingIDE verwendete. Ich habe diese Anweisungen verwendet, um das Problem zu beheben
https://wingware.com/blog/anaconda

Insbesondere habe ich die Anaconda-Eingabeaufforderung geöffnet, "PATH" ausgeführt und in meinen Flügelpfad für mein Projekt kopiert.

Als Referenz ist mein PATH = C: \ Benutzer \ xx \ AppData \ Local \ Continuum \ anaconda3; C: \ Benutzer \ xx \ AppData \ Local \ Continuum \ anaconda3 \ Bibliothek \ mingw-w64 \ bin; C: \ Benutzer \ xx \ AppData \ Local \ Continuum \ anaconda3 \ Library \ usr \ bin; C: \ Benutzer \ xx \ AppData \ Local \ Continuum \ anaconda3 \ Library \ bin; C: \ Benutzer \ xx \ AppData \ Local \ Continuum \ anaconda3 \ Scripts ; C: \ Benutzer \ xx \ AppData \ Local \ Continuum \ anaconda3 \ bin; C: \ Benutzer \ xx \ AppData \ Local \ Continuum \ anaconda3 \ condabin;

Ich bin einfach in den Ordner gegangen und habe einen gelöscht. Das scheint es behoben zu haben.

Dies scheint auch in Jupyter zu passieren, wenn Sie die Umgebung, die Sie VOR dem Start von Jupyter verwenden, nicht "conda aktivieren".

Und es passiert auch in VS Code, wenn Sie die Umgebung vor dem Start gegen Code nicht "conda aktivieren". Wenn ich "Code" verwende. In der Eingabeaufforderung für die Conda-Umgebung funktioniert es.

Dies scheint auch in Jupyter zu passieren, wenn Sie die Umgebung, die Sie VOR dem Start von Jupyter verwenden, nicht "conda aktivieren".

Das hat bei mir funktioniert. Und das Problem scheint besonders im Jupiter-Labor zu sein

Ich habe meine Probleme mit Numpy DLL-Ladeproblemen gelöst, indem ich Anaconda3 durch WinPython ersetzt habe.

Ich habe dieses Problem mit WinPaython

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen