最近升级到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
答案 0 :(得分:1)
此问题也出现在OS X 10.11上,升级libpng
并不能解决问题。我matplotlib
的版本是1.5.3。我不得不恢复到旧版本:
pip install matplotlib==1.4
并且工作正常。
答案 1 :(得分:0)
您应该尝试的第一件事是升级自制软件安装的libpng版本:
brew update && brew upgrade libpng
如果这不起作用,您应该尝试完全卸载libpng,然后重新安装
$ sudo brew uninstall libpng
$ sudo rm '/usr/local/bin/libpng-config'
$ for i in `brew link --overwrite --dry-run libpng`; do sudo rm $i; done
$ sudo brew install libpng