import matplotlib.typlot donne ImportError: dlopen(...) Bibliothèque non chargée libpng15.15.dylib

Importation pyplot donne une erreur:

In [1]: import matplotlib
In [2]: import matplotlib.pyplot as plt
ImportError                               Traceback (most recent call last)
<ipython-input-2-eff513f636fd> in <module>()
----> 1 import matplotlib.pyplot as plt
/Users/r8t/anaconda/lib/python2.7/site-packages/matplotlib/pyplot.py in <module>()
     25
     26 import matplotlib
---> 27 import matplotlib.colorbar
     28 from matplotlib import style
     29 from matplotlib import _pylab_helpers, interactive

/Users/r8t/anaconda/lib/python2.7/site-packages/matplotlib/colorbar.py in <module>()
     32 import matplotlib.artist as martist
     33 import matplotlib.cbook as cbook
---> 34 import matplotlib.collections as collections
     35 import matplotlib.colors as colors
     36 import matplotlib.contour as contour
/Users/r8t/anaconda/lib/python2.7/site-packages/matplotlib/collections.py in <module>()
     25 import matplotlib.artist as artist
     26 from matplotlib.artist import allow_rasterization
---> 27 import matplotlib.backend_bases as backend_bases
     28 import matplotlib.path as mpath
     29 from matplotlib import _path
/Users/r8t/anaconda/lib/python2.7/site-packages/matplotlib/backend_bases.py in <module>()
     54
     55 import matplotlib.tight_bbox as tight_bbox
---> 56 import matplotlib.textpath as textpath
     57 from matplotlib.path import Path
     58 from matplotlib.cbook import mplDeprecation
/Users/r8t/anaconda/lib/python2.7/site-packages/matplotlib/textpath.py in <module>()
     20 from matplotlib.ft2font import FT2Font, KERNING_DEFAULT, LOAD_NO_HINTING
     21 from matplotlib.ft2font import LOAD_TARGET_LIGHT
 ---> 22 from matplotlib.mathtext import MathTextParser
     23 import matplotlib.dviread as dviread
     24 from matplotlib.font_manager import FontProperties

/Users/r8t/anaconda/lib/python2.7/site-packages/matplotlib/mathtext.py in <module>()
     61
     62 import matplotlib.colors as mcolors
---> 63 import matplotlib._png as _png
     64 ####################
     65
 ImportError: dlopen(/Users/r8t/anaconda/lib/python2.7/site-packages/matplotlib/_png.so, 2): Library   not loaded: libpng15.15.dylib
  Referenced from: /Users/r8t/anaconda/lib/python2.7/site-packages/matplotlib/_png.so
  Reason: image not found

j'ai regardé erreur importation matplotlib.pyplot ce qui suggère de supprimer le dossier matplotlib. Je l'ai essayé et ça ne fonctionne pas. Cela aussi n'a pas de solution, mais je pense que c'est lié: Python: py2app "ImportError: dlopen (): Bibliothèque non chargée"

aussi je me suis assuré que libpng soit installé (via brew). Merci,

4
demandé sur Community 2014-12-04 00:25:19

2 réponses

(désolé Je ne peux pas encore commenter.. voici donc un nouveau post)

j'ai eu le même problème lors de l'installation d'une autre bibliothèque (spynner): dlopen(…) Library not loaded libpng15.15.dylib

j'ai essayé une méthode similaire à la réponse de @travelingbones, et je voulais juste ajouter quelques notes pour les futurs lecteurs:

  1. DYLD_LIBRARY_PATH doit contenir des répertoires, pas des fichiers. Par exemple,

export DYLD_LIBRARY_PATH=/Users/xxx/anaconda/lib:$DYLD_LIBRARY_PATH

et Non "1519220920

export DYLD_LIBRARY_PATH=/Users/xxx/anaconda/lib/libpng15.15.dylib:$DYLD_LIBRARY_PATH

l'erreur /usr/X11/lib/libpng15.15.dylib/libpng15.15.dylib: stat() failed with errno=20 est causée par le mauvais DYLD_LIBRARY_PATH, puisque le chemin de fichier /usr/X11/lib/libpng15.15.dylib/libpng15.15.dylib n'existe pas (notez le double libpng15.15.dylib dans le chemin de fichier).

  1. après avoir paramétré le nouveau DYLD_LIBRARY_PATH, j'ai trouvé que mon matplotlib était foiré, avec l'erreur suivante:
ImportError: dlopen(/Users/shenggao/anaconda/lib/python2.7/site-packages/matplotlib/backends/_macosx.so, 2): Symbol not found: __cg_jpeg_resync_to_restart
Referenced from: /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
Expected in: /Users/shenggao/anaconda/lib/libjpeg.8.dylib in /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
  1. pour résoudre ce problème, j'ai changé DYLD_LIBRARY_PATH de nouveau à l'ancienne valeur (i.e., vide ), et j'ai ajouté le chemin libpng à DYLD_FALLBACK_LIBRARY_PATH comme ceci:

export DYLD_FALLBACK_LIBRARY_PATH=/Users/shenggao/anaconda/lib:$DYLD_FALLBACK_LIBRARY_PATH

enfin matplotlib et ma nouvelle bibliothèque ont fonctionné comme un charme!

5
répondu Sean Zhu 2015-03-31 05:49:25

j'ai suivi ces instructions et j'ai eu une erreur différente qui est réparable: J'ai d'abord vérifié que ce chemin:

macair93278:~ r8t$ echo $DYLD_LIBRARY_PATH

(empty)

suivant pour localiser le fichier dont j'ai besoin (libpng15.15.dylib):

macair93278:~ r8t$ locate libpng15.15.dylib
/Applications/KeePassX.app/Contents/MacOS/libpng15.15.dylib
/Users/r8t/anaconda/lib/libpng15.15.dylib
/Users/r8t/anaconda/pkgs/libpng-1.5.13-1/lib/libpng15.15.dylib
/usr/X11/lib/libpng15.15.dylib

maintenant j'ai ajouté les trois derniers au chemin et j'ai vérifié le chemin:

macair93278:~ r8t$ echo $DYLD_LIBRARY_PATH  
/usr/X11/lib/libpng15.15.dylib:/Users/r8t/anaconda/pkgs/libpng-1.5.13-1/lib/libpng15.15.dylib:/Users/r8t/anaconda/lib/libpng15.15.dylib

ok, donc maintenant le test,

macair93278:~ r8t$ ipython

In [1]: import matplotlib

In [2]: from matplotlib import pyplot
…(bunch of output)
ImportError: dlopen(/Users/r8t/anaconda/lib/python2.7/site-packages/matplotlib/_png.so, 2): Library not loaded: libpng15.15.dylib
Referenced from: /Users/r8t/anaconda/lib/python2.7/site-packages/matplotlib/_png.so
Reason: no suitable image found. Did find:
/usr/X11/lib/libpng15.15.dylib/libpng15.15.dylib: stat() failed with errno=20
/Users/r8t/anaconda/pkgs/libpng-1.5.13-1/lib/libpng15.15.dylib/libpng15.15.dylib: stat() failed with errno=20
/Users/r8t/anaconda/lib/libpng15.15.dylib/libpng15.15.dylib: stat() failed with errno=20

une autre erreur! le progrès! Maintenant après cette page j'ai lancé le lien brew, puis unlink il ne l'a pas corrigé, mais il m'a pointé vers le fait que pyplot cherche libpng15.15.dylib dans usr/local/lib mais ils ne sont " il n':

macair93278:~ r8t$ cd ../usr/local/lib
macair93278:lib r8t$ ls *png*
libpng.a libpng16.16.dylib libpng16.dylib
libpng.dylib libpng16.a

alors copiez-les là:

macair93278:~ r8t$ cp ../anaconda/lib/*png* /usr/local/lib
macair93278:~ r8t$ cd /usr/local/lib

Le test:

In [1]: import matplotlib 

In [2]: from matplotlib import pyplot
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/r8t/anaconda/lib/python2.7/site-packages/matplotlib/pyplot.py", line 109, in <module>
_backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
  File "/Users/r8t/anaconda/lib/python2.7/site-packages/matplotlib/backends/__init__.py", line 32, in pylab_setup
    globals(),locals(),[backend_name],0)
  File "/Users/r8t/anaconda/lib/python2.7/site-packages/matplotlib/backends/backend_macosx.py", line 24, in <module>
    from matplotlib.backends import _macosx
RuntimeError: Python is not installed as a framework. The Mac OS X backend will not be able to function correctly if Python is not installed as a framework. See the Python documentation for more information on installing Python as a framework on Mac OS X. Please either reinstall Python as a framework, or try one of the other backends.

et nous avons réduit le problème à celui-ci (résolu): problème w / mac os backend

0
répondu travelingbones 2017-05-23 12:16:50