J'utilise la distribution Anaconda Python: Python 2.7 x64 avec Windows 7 SP1 x64 Ultimate.
Quand je fais import matplotlib.pyplot
je reçois ImportError: DLL load failed: The specified module could not be found.
. Quel pourrait être le problème?
Pile d'erreur complète:
Traceback (most recent call last):
File "C:\svn\hw4\code\test_con.py", line 1, in <module>
import matplotlib.pyplot
File "C:\Anaconda\lib\site-packages\matplotlib\pyplot.py", line 27, in <module>
import matplotlib.colorbar
File "C:\Anaconda\lib\site-packages\matplotlib\colorbar.py", line 34, in <module>
import matplotlib.collections as collections
File "C:\Anaconda\lib\site-packages\matplotlib\collections.py", line 27, in <module>
import matplotlib.backend_bases as backend_bases
File "C:\Anaconda\lib\site-packages\matplotlib\backend_bases.py", line 56, in <module>
import matplotlib.textpath as textpath
File "C:\Anaconda\lib\site-packages\matplotlib\textpath.py", line 22, in <module>
from matplotlib.mathtext import MathTextParser
File "C:\Anaconda\lib\site-packages\matplotlib\mathtext.py", line 63, in <module>
import matplotlib._png as _png
ImportError: DLL load failed: The specified module could not be found.
conda update -f numpy
, conda update -f libpng
et conda update -f matplotlib
n'a pas aidé.
Sortie de conda list matplotlib
:
C:\Anaconda>conda list matplotlib
# packages in environment at C:\Anaconda:
#
matplotlib 1.4.3 np110py27_2
matplotlib-venn 0.11 <pip>
Le problème est apparu après l'exécution de conda update --all
.
J'ai eu ce problème aussi. Il semble avoir surgi au cours des deux dernières semaines. Il semble que quelque chose dans la pile scipy ait été mal compilé. À court terme:
conda install anaconda
retournera votre système à une distribution anaconda stable.
J'ai résolu ce problème sur ma machine Windows en ajoutant [Anaconda]/Library/bin à PATH.
J'ai corrigé cela en installant libpng:
conda install libpng
Je suppose que la question connexe est ici: https://github.com/conda/conda/issues/1753
J'ai résolu le même problème en réinstallant Anaconda.
La pile SciPy fournie par défaut avec Anaconda était corrompue dans mon cas.
conda et pip sont deux gestionnaires de packages différents que vous pouvez utiliser pour installer des packages Python. conda peut installer différents packages, il installe lui-même python en tant que package. pip s'adresse aux utilisateurs de python.
Les packages conda étaient corrompus, donc supprimer ce package, fourni par défaut, et l'installer à nouveau à l'aide de pip fonctionnait pour moi.
Essayez ce qui suit:
1. Créer un nouvel environnement
Cette étape est effectuée uniquement à titre de mesure de sécurité. Vous pouvez ignorer cette étape.
Ouvrez Anaconda Prompt et
conda create --name testtrial python=3 //install whichever version of Python you want
activate testtrial
2. Supprimer et installer de nouveaux paquets
conda remove matplotlib //required only if you skipped the first step and are working in the default(root) environment
pip install matplotlib
Cela devrait résoudre le problème.
Un guide rapide sur le travail avec conda .
Assurez-vous d’avoir fermé tous les éléments Python lors de l’exécution. L'utilisation du code suivant dans la commande Invite (et non ipython Prompt) génère un environnement appelé "travail" avec Anaconda 2.2.0, Cython 0.22, Numpy 1.9.2 py33_0, Pandas 0.15.2 et Python 3.3.5.
conda create -n working python=3 anaconda
Pour utiliser ensuite l'environnement
activate working
Maintenant vous pouvez lancer ipython ou notebook et (au minimum) matplotlib devrait importer.
J'ai rencontré la même erreur Prompt. Enfin, j’ai découvert que j’ouvrais le portable Jupyter dans un environnement différent, pas celui que j’avais utilisé auparavant. Cela signifie que le module n'est pas dans votre répertoire de votre environnement jupter noetbook. Donc, je viens d'ouvrir le portable Jupyter dans l'environnement d'origine, le problème résolu.
Essayez de passer à une version inférieure, cette commande a fonctionné pour moi:
conda install libpng=1.6.22
Cela réduit également matplotlib et certains autres paquets, mais semble bien fonctionner ensemble.