matplotlib说它需要libpng15,但我有libpng16

时间:2014-04-16 04:26:50

标签: python macos matplotlib

问题可能是配置问题,因为在Mac上正确安装似乎很棘手。我正在运行Mavericks和matplotlib 1.4.x,但是当我打开Python 2.7.5 shell和import pylib时,我收到此错误:

>>> import pylab

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Python/2.7/site-packages/matplotlib-1.4.x-py2.7-macosx-10.9-intel.egg/pylab.py", line 1, in <module>
    from matplotlib.pylab import *
  File "/Library/Python/2.7/site-packages/matplotlib-1.4.x-py2.7-macosx-10.9-intel.egg/matplotlib/pylab.py", line 230, in <module>
    import matplotlib.finance
  File "/Library/Python/2.7/site-packages/matplotlib-1.4.x-py2.7-macosx-10.9-intel.egg/matplotlib/finance.py", line 38, in <module>
    from matplotlib.collections import LineCollection, PolyCollection
  File "/Library/Python/2.7/site-packages/matplotlib-1.4.x-py2.7-macosx-10.9-intel.egg/matplotlib/collections.py", line 27, in <module>
    import matplotlib.backend_bases as backend_bases
  File "/Library/Python/2.7/site-packages/matplotlib-1.4.x-py2.7-macosx-10.9-intel.egg/matplotlib/backend_bases.py", line 55, in <module>
    import matplotlib.textpath as textpath
  File "/Library/Python/2.7/site-packages/matplotlib-1.4.x-py2.7-macosx-10.9-intel.egg/matplotlib/textpath.py", line 22, in <module>
    from matplotlib.mathtext import MathTextParser
  File "/Library/Python/2.7/site-packages/matplotlib-1.4.x-py2.7-macosx-10.9-intel.egg/matplotlib/mathtext.py", line 64, in <module>
    import matplotlib._png as _png
ImportError: dlopen(/Library/Python/2.7/site-packages/matplotlib-1.4.x-py2.7-macosx-10.9-intel.egg/matplotlib/_png.so, 2): Library not loaded: /usr/local/lib/libpng15.15.dylib
  Referenced from: /Library/Python/2.7/site-packages/matplotlib-1.4.x-py2.7-macosx-10.9-intel.egg/matplotlib/_png.so
  Reason: image not found

我安装了libpng16,但没有libpng15

2 个答案:

答案 0 :(得分:4)

我在_png.so中看到了对libpng15的硬编码引用 卸载并安装matplotlib为我解决了这个问题。

答案 1 :(得分:2)

你总是可以通过生成像这样的软链接来实现它。

sudo ln -s /opt/X11/lib/libpng.dylib /usr/local/lib/libpng15.15.dylib

不是更清洁的解决方案,但我还没弄清楚为什么matplotlib顽固地专门要求libpng15而不是15或更高。