Issue 1:
Bug report

Bug summary

Opening an interactive figure with the MacOSX backend on matplotlib v2.1.0 results in a TypeError

Code for reproduction

In [1]: import matplotlib.pyplot as plt
In [2]: plt.ion()
In [3]: fig, ax = plt.subplots()

Actual outcome

In [3]: fig, ax = plt.subplots()
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-3-c49ba9de65d3> in <module>()
----> 1 fig, ax = plt.subplots()

/opt/local/Library/Frameworks/Python.framework/Versions/Current/lib/python2.7/site-packages/matplotlib/pyplot.pyc in subplots(nrows, ncols, sharex, sharey, squeeze, subplot_kw, gridspec_kw, **fig_kw)
1177 subplot
1178 """
-> 1179 fig = figure(**fig_kw)
1180 axs = fig.subplots(nrows=nrows, ncols=ncols, sharex=sharex, sharey=sharey,
1181 squeeze=squeeze, subplot_kw=subplot_kw,

/opt/local/Library/Frameworks/Python.framework/Versions/Current/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:

/opt/local/Library/Frameworks/Python.framework/Versions/Current/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)

Expected outcome

Open an interactive figure. This worked on matplotlib v2.0.2

Matplotlib version

Operating system: MacOS 10.12.6 (16G29)

Matplotlib version: 2.1.0

Matplotlib backend (print(matplotlib.get_backend())): MacOSX

Python version: Python 2.7.14 (default, Sep 22 2017, 00:06:07)

Jupyter version (if applicable):

Other libraries:

python, ipython and matplotlib were all installed via MacPorts

Issue 2:
Bug report

Bug summary

TypeError for internal matplotlib code when constructing a figure with a specified figsize

Code for reproduction

# Paste your code here
ipython --pylab
>>> figure(figsize=(11,5))

Actual outcome

---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-1-6b0588efc287> in <module>()
----> 1 figure(figsize=(11,5))

/Users/nevay/Library/Python/2.7/lib/python/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:

/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/IPython/utils/decorators.pyc in wrapper(*args, **kw)
41 def wrapper(*args,**kw):
42 wrapper.called = False
---> 43 out = func(*args,**kw)
44 wrapper.called = True
45 return out

/Users/nevay/Library/Python/2.7/lib/python/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)

Expected outcome

A figure is constructed without error.

Matplotlib version

Operating system: Mac OSX 11.6

Matplotlib version: 2.1.0

Matplotlib backend (print(matplotlib.get_backend())):MacOSX

Python version: Python 2.7.14

Jupyter version (if applicable):

Other libraries: py27-ipython @5.4.0_0

Software installed through macports.

This seems to work with just ipython

ipython

import matplotlib.pyplot as plt

plt.figure(figsize=(11,5))

plt.show(block=False)