La mia installazione di Python per OS X avviene tramite homebrew. Quindi aggiungo il software Python usando pip. Recentemente ho aggiornato matplotlib dalla versione 1.4.3 alla 2.1.0 tramite pip install matplotlib --upgrade
, e ora matplotlib mi dà questo errore quando provo a fare una trama di base:
In [1]: plt.plot(np.arange(10))
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-1-a81699eb47e8> in <module>()
----> 1 plt.plot(np.arange(10))
/usr/local/lib/python2.7/site-packages/matplotlib/pyplot.pyc in plot(*args, **kwargs)
3227 @_autogen_docstring(Axes.plot)
3228 def plot(*args, **kwargs):
-> 3229 ax = gca()
3230 # Deprecated: allow callers to override the hold state
3231 # by passing hold=True|False
/usr/local/lib/python2.7/site-packages/matplotlib/pyplot.pyc in gca(**kwargs)
957 matplotlib.figure.Figure.gca : The figure's gca method.
958 """
--> 959 return gcf().gca(**kwargs)
960
961 # More ways of creating axes:
/usr/local/lib/python2.7/site-packages/matplotlib/pyplot.pyc in gcf()
586 return figManager.canvas.figure
587 else:
--> 588 return figure()
589
590
/usr/local/lib/python2.7/site-packages/matplotlib/pyplot.pyc in figure(num, figsize, dpi, facecolor, edgecolor, frameon, FigureClass, clear, **kwargs)
554 # FigureManager base class.
555 if matplotlib.is_interactive():
--> 556 draw_if_interactive()
557
558 if _INSTALL_FIG_OBSERVER:
/usr/local/lib/python2.7/site-packages/matplotlib/backend_bases.pyc in draw_if_interactive(cls)
183 manager = Gcf.get_active()
184 if manager:
--> 185 cls.trigger_manager_draw(manager)
186
187 @classmethod
TypeError: unbound method trigger_manager_draw() must be called with _BackendMac instance as first argument (got FigureManagerMac instance instead)
Non sono sicuro di come diagnosticare questo. Tuttavia ho un Python 3 matplotlib funzionante.
Si tratta di un bug nella versione 2.1.0 di matplotlib?