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:
(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)
(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?
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
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 VariablenPATH
. Möglicherweise schlagen die Anpassungen vonPATH
beim Import fehl. Existiert das Verzeichnissite-packages\numpy\.libs
und enthält es*.dll
Dateien? Wenn ja, können Sie versuchen, dieses Verzeichnis IhremPATH
voranzustellen, bevor Sie Python ausführen: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
dieos.environ['PATH']
nicht ändern kann. Möglicherweise haben Sie die zulässige Länge vonPATH
überschritten, oder es liegt ein anderes Problem mit Ihrer UmgebungsvariablenPATH
.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 VariablenPATH
anzuhängen.