1 votos

matplotlib roto después de `pip install matplotlib --upgrade` a la versión 2.1.0

Mi instalación de Python en OS X es a través de homebrew. Luego agrego el software de Python usando pip. Recientemente actualicé matplotlib de la versión 1.4.3 a la 2.1.0 mediante pip install matplotlib --upgrade y ahora matplotlib me da este error cuando intento hacer un gráfico básico:

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)

No estoy seguro de cómo diagnosticar esto. Sin embargo, tengo un matplotlib de Python 3 que funciona.

¿Es esto realmente un error dentro de la versión 2.1.0 de matplotlib?

0 votos

Tengo exactamente el mismo problema desde que actualicé a la versión actual de matplotlib a través de pip (MacOSX Sierra, Python 2.7).

4voto

NetherLinks Puntos 905

Este es un problema con matplotlib 2.1.0 en MacOS. Hay un error que lo provoca debido a una refactorización en la nueva versión.

Es probable que se arregle en una versión de corrección de errores pronto, pero tendrás que hacer un downgrade si necesitas que funcione ahora.

Para instalar la versión antigua: pip uninstall matplotlib && pip install matplotlib==2.0.2

Referencias:

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X