2014-12-03 80 views
4

导入pyplot给出了一个错误:进口matplotlib.pyplot给人导入错误:dlopen的(......)不加载库libpng15.15.dylib

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 

我已经看了​​ 这表明删除matplotlib文件夹。我试了一下,但没有奏效。这也没有解决方案,但我认为是相关的:Python: py2app "ImportError: dlopen(): Library not loaded"

另外我确保我有libpng安装(通过brew)。 谢谢,

+0

我也尝试通过点卸载matplot lib,然后brew重新安装libpng和freetype,然后点安装matplotlib,我得到相同的错误...呃。 – travelingbones 2014-12-17 21:51:25

回答

5

(抱歉,我不能评论当前还..所以这里是一个新的职位)

我安装另一个库(spynner)时有同样的问题:dlopen(…) Library not loaded libpng15.15.dylib

我尝试过类似的方法来@ travelingbones的答案,只是想添加一些笔记未来的读者:

  1. DYLD_LIBRARY_PATH应该包含目录,而不是文件。例如,

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

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

错误/usr/X11/lib/libpng15.15.dylib/libpng15.15.dylib: stat() failed with errno=20是由错误的DYLD_LIBRARY_PATH造成的,因为/usr/X11/lib/libpng15.15.dylib/libpng15.15.dylib不存在的文件路径(注意在双libpng15.15.dylib文件路径)。

  • 后我已经设置新DYLD_LIBRARY_PATH,我发现我matplotlib被弄乱,具有以下错误:
  • 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 
    
  • 为了解决这个问题,我改变DYLD_LIBRARY_PATH回原来的值(即),并添加libpng的路径DYLD_FALLBACK_LIBRARY_PATH 这样的:
  • export DYLD_FALLBACK_LIBRARY_PATH=/Users/shenggao/anaconda/lib:$DYLD_FALLBACK_LIBRARY_PATH

    最后matplotlib和我的新库像一个魅力工作!

    +0

    酷!感谢分享。之后我重新映像了我的mac,并使用brew和pip重新安装了所有python。从此以后,一切都很顺利。如果你愿意擦拭你的机器并开始一个新的操作系统,我想这是另一个解决方案。 – travelingbones 2015-04-02 03:05:31

    0

    我跟着these directions,并得到了不同的错误是可以解决的:首先 我检查什么是在这条道路:

    macair93278:~ r8t$ echo $DYLD_LIBRARY_PATH 
    
    (empty) 
    

    下一页找到我需要的文件(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 
    

    现在我附加了底部三路径和检查的路径:

    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 
    

    好了,所以现在的测试,

    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 
    

    不同的错误!进展! 现在跟在this page之后,我运行了brew链接,然后取消了链接并没有修正它,但它指出了pyplot正在寻找usr/local/lib中的libpng15.15.dylib这一事实,但它们不在那里:

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

    所以将它们复制在那里:

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

    测试:

    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. 
    

    而且我们已经减少了问题这个(解决)之一:problem w/ mac os backend

    相关问题