$ python T_s.py
Exception in Tkinter callback
Traceback (most recent call last):
File “/usr/lib/python2.7/lib-tk/Tkinter.py”, line 1413, in __call__ return self.func(*args)
File “/usr/lib/pymodules/python2.7/matplotlib/backends/backend_tkagg.py”, line 212, in resize self.show()
File “/usr/lib/pymodules/python2.7/matplotlib/backends/backend_tkagg.py”, line 215, in draw FigureCanvasAgg.draw(self)
File “/usr/lib/pymodules/python2.7/matplotlib/backends/backend_agg.py”, line 314, in draw self.figure.draw(self.renderer)
File “/usr/lib/pymodules/python2.7/matplotlib/artist.py”, line 46, in draw_wrapper draw(artist, renderer, *args, **kwargs)
File “/usr/lib/pymodules/python2.7/matplotlib/figure.py”, line 773, in draw for a in self.axes: a.draw(renderer)
File “/usr/lib/pymodules/python2.7/matplotlib/artist.py”, line 46, in draw_wrapper draw(artist, renderer, *args, **kwargs)
File “/usr/lib/pymodules/python2.7/matplotlib/axes.py”, line 1735, in draw a.draw(renderer) File “/usr/lib/pymodules/python2.7/matplotlib/artist.py”, line 46, in draw_wrapper draw(artist, renderer, *args, **kwargs)
File “/usr/lib/pymodules/python2.7/matplotlib/axis.py”, line 742, in draw tick.draw(renderer) File “/usr/lib/pymodules/python2.7/matplotlib/artist.py”, line 46, in draw_wrapper draw(artist, renderer, *args, **kwargs)
File “/usr/lib/pymodules/python2.7/matplotlib/axis.py”, line 196, in draw self.label1.draw(renderer)
File “/usr/lib/pymodules/python2.7/matplotlib/text.py”, line 518, in draw bbox, info = self._get_layout(renderer)
File “/usr/lib/pymodules/python2.7/matplotlib/text.py”, line 280, in _get_layout clean_line, self._fontproperties, ismath=ismath)
File “/usr/lib/pymodules/python2.7/matplotlib/backends/backend_agg.py”, line 156, in get_text_width_height_descent self.mathtext_parser.parse(s, self.dpi, prop)
File “/usr/lib/pymodules/python2.7/matplotlib/mathtext.py”, line 2797, in parse font_output = fontset_class(prop, backend)
File “/usr/lib/pymodules/python2.7/matplotlib/mathtext.py”, line 658, in __init__ self._stix_fallback = StixFonts(*args, **kwargs)
File “/usr/lib/pymodules/python2.7/matplotlib/mathtext.py”, line 900, in __init__ fullpath = findfont(name)
File “/usr/lib/pymodules/python2.7/matplotlib/font_manager.py”, line 1306, in findfont if not os.path.exists(font):
File “/usr/lib/python2.7/genericpath.py”, line 18, in exists os.stat(path)
TypeError: coercing to Unicode: need string or buffer, dict found
但如果将程序中的pl.loglog或pl.semilogx(y)换成pl.plot即可完美运行。也就是在调用matplotlib库的时候出了问题。问题貌似是有点冲突,没错!因为是从python2.6升级至2.7(如果系统是完全重装的应该无此问题),2.6中的matplotlib的setting没有删除,导致该问题的出现。