2016-11-04 1 views
1

Récemment mis à niveau vers OSX Sierra (10.12.1), mise à jour de certains paquets (ne me souviens plus de quoi), et maintenant cela arrive (voir message d'erreur). J'ai essayé de réinstaller libpng, brew + libpng, lié avec succès libpng, réinstallé matplotlib, et je reçois toujours cette erreur. Des idées quoi essayer ensuite?L'importation de pylab échoue, même après la réinstallation de matplotlib, libpng et de brassage

matplotlib Version: 1.5.3

version 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)] 

message d'erreur complète:

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

Il semble que vous ayez une ancienne version de libpng, même après la réinstallation. Avez-vous fait 'brasser la mise à jour && brew upgrade libpng'? –

+0

Avez-vous enfin corrigé cette erreur? J'ai exactement le même problème avec OS identique, version python et matplotlib, et j'ai essayé toutes les choses que vous avez décrites. Je reçois toujours cette erreur. –

+0

@ Léonard vous devrez peut-être rétrograder votre version de 'libpng' comme indiqué ci-dessous. – caasjj

Répondre

0

La première chose que vous devriez essayer est de mettre à jour la version de libpng que homebrew installations par:

brew update && brew upgrade libpng 

Si cela ne fonctionne pas, vous devriez essayer de complètement désinstaller libpng, puis le réinstaller

$ 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 
1

Ce problème se produit sur OS X 10,11 aussi, et l'amélioration de la libpng ne fixe pas. La version de matplotlib que j'avais était 1.5.3. Je devais revenir à une ancienne version avec:

pip install matplotlib==1.4

et qui fonctionne bien.