【发布时间】:2017-03-17 17:42:39
【问题描述】:
最近升级到 OSX Sierra (10.12.1),升级了一些软件包(不记得是什么),现在正在发生这种情况(见错误消息)。我尝试重新安装libpng,brew + libpng,成功链接libpng,重新安装matplotlib,但我仍然收到此错误。有什么想法可以尝试下一步吗?
matplotlib 版本:1.5.3
python 版本:
>>> print (sys.version)
2.7.12 |Anaconda 2.2.0 (x86_64)| (default, Jul 2 2016, 17:43:17)
[GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)]
完整的错误信息:
In [1]: import pylab
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-1-0c66bb86b884> in <module>()
----> 1 import pylab
/Users/lweiss/anaconda/lib/python2.7/site-packages/pylab.py in <module>()
----> 1 from matplotlib.pylab import *
2 import matplotlib.pylab
3 __doc__ = matplotlib.pylab.__doc__
/Users/lweiss/anaconda/lib/python2.7/site-packages/matplotlib/pylab.py in <module>()
229 # make mpl.finance module available for backwards compatability, in case folks
230 # using pylab interface depended on not having to import it
--> 231 import matplotlib.finance
232
233 from matplotlib.dates import date2num, num2date,\
/Users/lweiss/anaconda/lib/python2.7/site-packages/matplotlib/finance.py in <module>()
25 from matplotlib.dates import date2num
26 from matplotlib.cbook import iterable, mkdirs
---> 27 from matplotlib.collections import LineCollection, PolyCollection
28 from matplotlib.colors import colorConverter
29 from matplotlib.lines import Line2D, TICKLEFT, TICKRIGHT
/Users/lweiss/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/lweiss/anaconda/lib/python2.7/site-packages/matplotlib/backend_bases.py in <module>()
60
61 import matplotlib.tight_bbox as tight_bbox
---> 62 import matplotlib.textpath as textpath
63 from matplotlib.path import Path
64 from matplotlib.cbook import mplDeprecation, warn_deprecated
/Users/lweiss/anaconda/lib/python2.7/site-packages/matplotlib/textpath.py in <module>()
16 from matplotlib.ft2font import FT2Font, KERNING_DEFAULT, LOAD_NO_HINTING
17 from matplotlib.ft2font import LOAD_TARGET_LIGHT
---> 18 from matplotlib.mathtext import MathTextParser
19 import matplotlib.dviread as dviread
20 from matplotlib.font_manager import FontProperties
/Users/lweiss/anaconda/lib/python2.7/site-packages/matplotlib/mathtext.py in <module>()
58
59 import matplotlib.colors as mcolors
---> 60 import matplotlib._png as _png
61 ####################
62
ImportError: dlopen(/Users/lweiss/anaconda/lib/python2.7/site-packages/matplotlib/_png.so, 2): Library not loaded: @rpath/libpng16.16.dylib
Referenced from: /Users/lweiss/anaconda/lib/python2.7/site-packages/matplotlib/_png.so
Reason: Incompatible library version: _png.so requires version 39.0.0 or later, but libpng16.16.dylib provides version 34.0.0
【问题讨论】:
-
看起来你有一个旧版本的 libpng,即使在重新安装之后。你做了
brew update && brew upgrade libpng吗? -
你最终修复了这个错误吗?我对相同的操作系统、python 版本和 matplotlib 有完全相同的问题,我也尝试了你描述的所有东西。我仍然收到此错误。
-
@Léonard 您可能需要降级您的
libpng版本,如下所示。 -
@caasjj 谢谢,我赞成你的回答。
标签: python matplotlib libpng