AttributeError: 'module' object has no attribute 'CallLater'

Nils Wagner wrote:

Nils Wagner wrote:

Hi all,

I found a new bug

matplotlib data path /usr/lib/python2.4/site-packages/matplotlib/mpl-data
loaded rc file /home/nwagner/matplotlibrc
matplotlib version 0.98.3rc1
verbose.level helpful
interactive is False
units is False
platform is linux2
Using fontManager instance from /home/nwagner/.matplotlib/fontManager.cache
backend WXAgg version

   File "/usr/lib/python2.4/site-packages/matplotlib/", line 2237, in spy
     b = ishold()
   File "/usr/lib/python2.4/site-packages/matplotlib/", line 466, in ishold
     return gca().ishold()
   File "/usr/lib/python2.4/site-packages/matplotlib/", line 566, in gca
     ax = gcf().gca(**kwargs)
   File "/usr/lib/python2.4/site-packages/matplotlib/", line 270, in gcf
     return figure()
   File "/usr/lib/python2.4/site-packages/matplotlib/", line 247, in figure
   File "/usr/lib/python2.4/site-packages/matplotlib/backends/", line 119, in new_figure_manager
     frame = FigureFrameWxAgg(num, fig)
   File "/usr/lib/python2.4/site-packages/matplotlib/backends/", line 1332, in __init__
     self.canvas = self.get_canvas(fig)
   File "/usr/lib/python2.4/site-packages/matplotlib/backends/", line 32, in get_canvas
     return FigureCanvasWxAgg(self, -1, fig)
   File "/usr/lib/python2.4/site-packages/matplotlib/backends/", line 734, in __init__
     self.idletimer = wx.CallLater(1,self._onDrawIdle)
AttributeError: 'module' object has no attribute 'CallLater'

It looks like this was introduced in wxPython 2.7.1: ANN: wxPython released

I have changed backend_wx to use the backwards-compatible alias, FutureCall.


Hi Eric,

Thank you very much ! The next problem is the following

Traceback (most recent call last):
  File "/usr/lib/python2.4/site-packages/matplotlib/backends/", line 1094, in _onPaint
  File "/usr/lib/python2.4/site-packages/matplotlib/backends/", line 64, in draw
  File "/usr/lib/python2.4/site-packages/matplotlib/backends/", line 995, in gui_repaint
    if self.IsShownOnScreen():
AttributeError: 'FigureCanvasWxAgg' object has no attribute 'IsShownOnScreen'


WxPython experts: what version do we require? If it is earlier than 2.8, then it appears we badly need a testing procedure to ensure compatibility. (A testing procedure for python version compatibility would be nice, also--has anyone looked into what it would take to set up and run a buildbot?)

I presume IsShownOnScreen is another 2.8-specific method, but a Google search does not immediately turn up this information, and I don't normally deal with wx, so I have to pass this problem on to someone who does.



On Sun, 27 Jul 2008 07:19:24 -1000 > Eric Firing <efiring@...229...> wrote: