web-dev-qa-db-fra.com

ImportError: DLL Échec du chargement lors de l'importation de Numpy installé dans un environnement virtuel conda

Sous Windows, j'ai créé un environnement virtuel Conda avec la commande

conda create -n test python=2.7 pandas scipy matplotlib numpy

Une fois créé, j'ai activé l'environnement virtuel et suis entré dans un interpréteur python. En essayant d'importer numpy, j'obtiens l'erreur suivante:

>>> import numpy
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Anaconda3\envs\test\lib\site-packages\numpy\__init__.py", line 180, in <module>
    from . import add_newdocs
  File "C:\Anaconda3\envs\test\lib\site-packages\numpy\add_newdocs.py", line 13, in <module>
    from numpy.lib import add_newdoc
  File "C:\Anaconda3\envs\test\lib\site-packages\numpy\lib\__init__.py", line 8,
 in <module>
    from .type_check import *
  File "C:\Anaconda3\envs\test\lib\site-packages\numpy\lib\type_check.py", line 11, in <module>
    import numpy.core.numeric as _nx
  File "C:\Anaconda3\envs\test\lib\site-packages\numpy\core\__init__.py", line 14, in <module>
    from . import multiarray
ImportError: DLL load failed: The specified module could not be found.

Des idées de ce qui se passe ici? Merci!

13
mkrems

Contrairement à @Rafael, pour moi, libiomp5md.dll n'était pas le problème. J'ai installé Dependency Walker pour enquêter sur ce qui se passait. Même si les versions de la DLL étaient différentes, Dependency Walker a déclaré que tout allait bien.

Ce qui n'allait pas, cependant, était que mkl_intel_thread.dll avait des avertissements ( icône rouge ). Si vous utilisez Win 8 ++, ignorez les problèmes api-win et ext-ms car Dependency Walker n'a pas été mis à jour pour les nouvelles versions de Windows et ne reconnaît pas les nouvelles API de Windows.

Ma solution est de copier tous les mkl_*.dlls du premier au dernier:

  • \ Anaconda2\Library\bin
  • \ Anaconda2\Lib\site-packages\numpy\core

J'ai pu importer numpy et sklearn par la suite.

11
Cardin

Désinstallez et réinstallez numpy.

pip uninstall numpy
pip install numpy

Ensuite, essayez à nouveau l'importation, cela devrait fonctionner. C'est ce que j'ai fait

9
Victor O

Il semble que la bonne façon de résoudre ce problème est de faire:

conda install msvc_runtime

Si vous êtes dans un environnement virtuel, ajoutez ce paquet là.

5
cfh

Pour mémoire, j'avais la même erreur ici (Python 3.5 64 bits sur Windows 10), et cette page m'a aidé à trouver la solution. Le problème était un conflit avec libiomp5md.dll, qui existait à deux endroits:

  • C:\Windows\System32\libiomp5md.dll
  • C:\Anaconda3\Library\bin\libiomp5md.dll

Python essayait d'utiliser la version du dossier System32, qui était une ancienne version. Je l'ai supprimé (renommé) et maintenant il utilise la version correcte, sur le dossier Anaconda3, et je peux maintenant importer numpy sans l'erreur d'importation.

3
Rafael Monteiro

Pour mon cas, j'ai aussi l'erreur d'importation numpy DLL dans anaconda3, et Decrayer (28 novembre) a fourni la meilleure solution: j'ai eu la même erreur sauf pour Anaconda3: vient d'ajouter le chemin\Anaconda3\Library\bin à votre variable de chemin Windows 10 et puis cela a fonctionné. 

J'essaie d'installer anaconda 3.7.1 ou 3.7.0 sans succès, je vais au redémarrage complet du PC après les étapes clés pour m'assurer que la DLL n'est plus utilisée en mémoire. En fin de compte, grâce à decrayer, maintenant numpy fonctionne pour moi! 

0
HAltos