matplotlib interrotto dopo 'pip installa matplotlib --upgrade' alla versione 2.1.0

1

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?

    
posta bernie 12.10.2017 - 17:44
fonte

1 risposta

4

Questo è un problema con matplotlib 2.1.0 su macOS. C'è un bug che causa questo a causa di alcuni refactoring nella nuova versione.

Probabilmente presto verrà risolto un bug fix, ma dovrai eseguire il downgrade se ne hai bisogno adesso.

Per installare la versione precedente: pip uninstall matplotlib && pip install matplotlib==2.0.2

Refs:

risposta data 13.10.2017 - 09:22
fonte

Leggi altre domande sui tag