Numpy: ImportError: échec du chargement de la DLL pour numpy 1.16.1

Créé le 12 févr. 2019  ·  21Commentaires  ·  Source: numpy/numpy

Créez de nouveaux environnements virtuels avec Anaconda Navigator 1.9.6 sous Windows 10, en sélectionnant Python 3.7, en nommant python37

Dans la console de VSCode:

  • activer python37
  • pip installer 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

(idem avec le paramètre --no-cache-dir)

  • python
  • importer numpy
(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!

Tous les conseils, réinstallations via pip et conda, ou différentes versions de numpy (par exemple 1.15.4) n'ont pas résolu ce problème pour moi.

Si je fais plusieurs pip désinstalle numpy jusqu'à ce qu'il ne reste plus numpy, puis fais une installation conda numpy, l'importation de numpy fonctionne de manière intéressante (en 1.15.4).

Une installation conda numpy fait ce qui suit:

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

Que manque-t-il pour le chemin pip?
Des idées?

00 - Bug 29 - InteAnaconda

Commentaire le plus utile

Il y a une différence entre l'emplacement des bibliothèques de support supplémentaires fournies avec anaconda et celles fournies avec le stock numpy que vous obtenez de pip install . Cela nécessite des ajustements de la variable PATH . Peut-être que les ajustements PATH échouent à l'importation. Le répertoire site-packages\numpy\.libs existe-t-il et contient-il des fichiers *.dll ?, Si oui, pouvez-vous essayer d'ajouter ce répertoire à votre PATH avant d'exécuter python:

rem This fails
python -c "import numpy"

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

Veuillez nous faire un rapport si ce répertoire existe et si la modification du chemin réussit, cela indique que le code dans numpy\__config__.py ne parvient pas à modifier le os.environ['PATH'] . Peut-être que vous avez dépassé la longueur autorisée PATH , ou il y a un autre problème avec votre variable d'environnement PATH .

Anaconda place les dll supplémentaires dans <anaconda install>\Library\bin , et ajoute ce répertoire au chemin lorsque vous activez un environnement anaconda. Stock numpy, comme décrit ci-dessus, essaie d'ajouter le répertoire .lib à la fin de la variable PATH .

Tous les 21 commentaires

Il y a une différence entre l'emplacement des bibliothèques de support supplémentaires fournies avec anaconda et celles fournies avec le stock numpy que vous obtenez de pip install . Cela nécessite des ajustements de la variable PATH . Peut-être que les ajustements PATH échouent à l'importation. Le répertoire site-packages\numpy\.libs existe-t-il et contient-il des fichiers *.dll ?, Si oui, pouvez-vous essayer d'ajouter ce répertoire à votre PATH avant d'exécuter python:

rem This fails
python -c "import numpy"

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

Veuillez nous faire un rapport si ce répertoire existe et si la modification du chemin réussit, cela indique que le code dans numpy\__config__.py ne parvient pas à modifier le os.environ['PATH'] . Peut-être que vous avez dépassé la longueur autorisée PATH , ou il y a un autre problème avec votre variable d'environnement PATH .

Anaconda place les dll supplémentaires dans <anaconda install>\Library\bin , et ajoute ce répertoire au chemin lorsque vous activez un environnement anaconda. Stock numpy, comme décrit ci-dessus, essaie d'ajouter le répertoire .lib à la fin de la variable PATH .

Votre méthode fonctionne en effet!
C: \ Users \ Name.conda \ envs \ test37 \ Lib \ site-packages \ numpy.libs existe et contient un fichier:
libopenblas.IPBC74C7KURV7CB2PKT5Z5FNR3SIBV4J.gfortran-win_amd64.dll

Je vais essayer une nouvelle installation avec un chemin initial plus court pour vérifier votre jeu dans environ une heure.

Question secondaire: ne devrait-il pas y avoir plus de DLL dans ce chemin? Je veux utiliser OpenMP et mkl avec pytorch, pas openblas ...

Si vous voulez utiliser mkl, utilisez conda, pas pip

désolé, utilisez pip install intel-numpy non pip install numpy , mais vous obtiendrez numpy 1.15.1 . Conda facilite les choses et il semble que vous utilisez anaconda, donc vous en tenir probablement à conda vous donnera une expérience plus unifiée.

Ok j'ai raccourci mon PATH et ça ne marche toujours pas avec "pip install numpy".
Ceci est ajouté à mon PATH si je "conda activate test37":
PATH = C: \ Users \ Name.conda \ envs \ test37; C: \ Users \ Name.conda \ envs \ test37 \ Library \ mingw-w64 \ bin; C: \ Users \ Name.conda \ envs \ test37 \ Library \ usr \ bin; C: \ Users \ Name.conda \ envs \ test37 \ Library \ bin; C: \ Users \ Name.conda \ envs \ test37 \ Scripts; C: \ Users \ Name.conda \ envs \ test37 \ poubelle;...

Mon PATH est encore long, mais je ne peux plus rien en retirer, car d'autres outils en ont besoin tel quel.

Pourquoi n'y a-t-il pas de conda numpy 1.16.1?

Merci pour votre aide mate!

(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" me donne 1.15.4 qui fonctionne bien.

@mattip MERCI BEAUCOUP

Peut-être devrions-nous relier statiquement et atténuer le besoin de cette déformation de chemin

Ce problème d'édition de PATH dans numpy pour les nouvelles versions de python pourrait-il avoir la même raison?
https://github.com/pytorch/pytorch/issues/4518#issuecomment-463224849 -> https://github.com/pytorch/pytorch/issues/17051

J'ai aussi le même type d'erreur pour scipy. Après avoir créé un env à l'aide de conda, j'ai dû désinstaller à l'aide de pip et installer à l'aide de conda pour tous les packages qui créaient un problème pour moi. Cela a fonctionné pour moi, même si ce n'est pas une solution idéale car il s'agissait d'une opération très manuelle.

@djdookie : juste pour être sûr de ce qui a fonctionné et de ce qui n'a pas fonctionné. Vous avez la dll dans C:\Users\Name.conda\envs\test37\Lib\site-packages\numpy.libs . Le fait de préparer cela à PATH avant de démarrer python a fonctionné. Pourriez-vous essayer d'ajouter cela à la fin de PATH (avec un séparateur ';') et tester si un numpy installé par pip fonctionne (peut-être dans un nouvel environnement conda, ce qui changerait le chemin)?

Edit: notez que le nouvel environnement aurait un chemin d'accès différent à la DLL

Il semble que ce soit un ananconda cassé, voir ce numéro ContinuumIO / anaconda-issues # 10628

Fermeture. Anaconda semble avoir résolu le problème à l'origine de ce problème.

Je viens de télécharger la dernière version Windows de conda pour python3.7 pour Windows 7 et j'ai eu ce problème. Pouvons-nous rouvrir?

Je résous le problème. C'était un problème de chemin car j'utilisais WingIDE. J'ai utilisé ces instructions pour réparer
https://wingware.com/blog/anaconda

Plus précisément, j'ai ouvert l'invite de commande anaconda et fait "PATH" et l'ai copié dans mon chemin d'aile pour mon projet.

Pour référence, mon PATH = C: \ Users \ xx \ AppData \ Local \ Continuum \ anaconda3; C: \ Users \ xx \ AppData \ Local \ Continuum \ anaconda3 \ Library \ mingw-w64 \ bin; C: \ Users \ xx \ AppData \ Local \ Continuum \ anaconda3 \ Library \ usr \ bin; C: \ Users \ xx \ AppData \ Local \ Continuum \ anaconda3 \ Library \ bin; C: \ Users \ xx \ AppData \ Local \ Continuum \ anaconda3 \ Scripts ; C: \ Users \ xx \ AppData \ Local \ Continuum \ anaconda3 \ bin; C: \ Users \ xx \ AppData \ Local \ Continuum \ anaconda3 \ condabin;

Je suis juste allé dans le dossier et en ai supprimé un. Cela semble l'avoir réglé.

Cela semble également se produire dans Jupyter si vous n'activez pas par conda l'environnement que vous utiliserez AVANT de démarrer Jupyter.

Et cela se produit également dans VS Code si vous n'activez pas l'environnement AVANT de démarrer vs code. Si j'utilise "code". dans l'invite d'environnement conda, cela fonctionne.

Cela semble également se produire dans Jupyter si vous n'activez pas par conda l'environnement que vous utiliserez AVANT de démarrer Jupyter.

Cela a fonctionné pour moi. Et le problème semble particulièrement dans Jupyter Lab

J'ai résolu mes problèmes avec les problèmes de chargement de la DLL Numpy en remplaçant Anaconda3 par WinPython.

J'ai ce problème avec WinPaython

Cette page vous a été utile?
0 / 5 - 0 notes