J'ai rencontré une erreur similaire aujourd'hui, concernant le code que je connais pour un fait qui fonctionnait il y a une semaine. J'ai également récemment désinstallé/réinstallé Matplotlib et Numpy, tout en vérifiant autre chose (j'utilise Python 2.5).
Le code quelque chose comme ceci:
self.ax.cla()
if self.logy: self.ax.set_yscale('log')
self.canvas.draw()
Chaque fois qu'il a été exécuté avec self.logy comme vrai, il a échoué comme ci-dessus. Sinon, cela a parfaitement fonctionné.
J'ai fini par résoudre le problème en désinstallant Matplotlib et Numpy et en installant les dernières versions. Cependant, la version jetant l'erreur avait déjà été utilisée sans problème. C'est seulement après l'échange de l'ancienne version pour la plus récente et vice-versa que cela a commencé.
Peut-être que le processus de désinstallation/réinstallation perturbe certains aspects des fichiers de configuration.
Pour être complet, voici le retraçage complet donné:
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\path\to\file\being\called\by\Tkinter.py", line 1081, in refresh
self.canvas.draw()
File "C:\Python25\Lib\site-packages\matplotlib\backends\backend_tkagg.py", line 215, in draw
FigureCanvasAgg.draw(self)
File "C:\Python25\Lib\site-packages\matplotlib\backends\backend_agg.py", line 314, in draw
self.figure.draw(self.renderer)
File "C:\Python25\Lib\site-packages\matplotlib\artist.py", line 46, in draw_wrapper
draw(artist, renderer, *kl)
File "C:\Python25\Lib\site-packages\matplotlib\figure.py", line 773, in draw
for a in self.axes: a.draw(renderer)
File "C:\Python25\Lib\site-packages\matplotlib\artist.py", line 46, in draw_wrapper
draw(artist, renderer, *kl)
File "C:\Python25\Lib\site-packages\matplotlib\axes.py", line 1735, in draw
a.draw(renderer)
File "C:\Python25\Lib\site-packages\matplotlib\artist.py", line 46, in draw_wrapper
draw(artist, renderer, *kl)
File "C:\Python25\Lib\site-packages\matplotlib\axis.py", line 742, in draw
tick.draw(renderer)
File "C:\Python25\Lib\site-packages\matplotlib\artist.py", line 46, in draw_wrapper
draw(artist, renderer, *kl)
File "C:\Python25\Lib\site-packages\matplotlib\axis.py", line 196, in draw
self.label1.draw(renderer)
File "C:\Python25\Lib\site-packages\matplotlib\text.py", line 515, in draw
bbox, info = self._get_layout(renderer)
File "C:\Python25\Lib\site-packages\matplotlib\text.py", line 279, in _get_layout
clean_line, self._fontproperties, ismath=ismath)
File "C:\Python25\Lib\site-packages\matplotlib\backends\backend_agg.py", line 156, in get_text_width_height_descent
self.mathtext_parser.parse(s, self.dpi, prop)
File "C:\Python25\Lib\site-packages\matplotlib\mathtext.py", line 2797, in parse
font_output = fontset_class(prop, backend)
File "C:\Python25\Lib\site-packages\matplotlib\mathtext.py", line 658, in __init__
self._stix_fallback = StixFonts(*args, **kwargs)
File "C:\Python25\Lib\site-packages\matplotlib\mathtext.py", line 900, in __init__
fullpath = findfont(name)
File "C:\Python25\Lib\site-packages\matplotlib\font_manager.py", line 1306, in findfont
if not os.path.exists(font):
File "C:\Python25\lib\ntpath.py", line 255, in exists
st = os.stat(path)
TypeError: coercing to Unicode: need string or buffer, dict found
Pour tout ce que ça vaut, car cela dépend clairement du système, vous pourriez avoir plus de chance de le demander sur la liste des utilisateurs de matplotlib: https://lists.sourceforge.net/lists/listinfo/matplotlib-users –
afficher aussi toute la traceback? –