MacOS matplotlib broken after `pip install matplotlib --upgrade` to version 2.1.0

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

MacOS matplotlib broken after `pip install matplotlib --upgrade` to version 2.1.0

Victor Zhao
My OS X python installation is through homebrew. I then add python software using pip. I recently upgraded matplotlib from version 1.4.3 to 2.1.0 via `pip install matplotlib --upgrade`, and now matplotlib gives me this error when I try to make a basic plot:

    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)

I am not sure how to diagnose this. I do have a working Python 3 matplotlib however.

Is this actually a bug within version 2.1.0 of matplotlib? Thanks

_______________________________________________
Matplotlib-users mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/matplotlib-users
Reply | Threaded
Open this post in threaded view
|

Re: MacOS matplotlib broken after `pip install matplotlib --upgrade` to version 2.1.0

Jody Klymak
Hi Victor,

This is apparently a bug that will be patched soon.  I’d roll back to 2.0.2 in the meantime if you aren’t comfortable working off github….

https://github.com/matplotlib/matplotlib/issues/9345

Cheers,   Jody

On Oct 12, 2017, at  8:59 AM, Victor Zhao <[hidden email]> wrote:

My OS X python installation is through homebrew. I then add python software using pip. I recently upgraded matplotlib from version 1.4.3 to 2.1.0 via `pip install matplotlib --upgrade`, and now matplotlib gives me this error when I try to make a basic plot:

    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)

I am not sure how to diagnose this. I do have a working Python 3 matplotlib however.

Is this actually a bug within version 2.1.0 of matplotlib? Thanks
_______________________________________________
Matplotlib-users mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/matplotlib-users


_______________________________________________
Matplotlib-users mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/matplotlib-users