On 09/13/2010 05:46 PM, Brian Granger wrote: > On Tue, Sep 7, 2010 at 1:31 PM, Eric Firing<efir...@hawaii.edu> wrote: >> On 09/03/2010 12:37 PM, Brian Granger wrote: >>> Hello all, >>> >>> I would like to submit the following branch on github for review and >>> merging into matplotlib trunk: >>> >>> http://github.com/ellisonbg/matplotlib/commits/guisupport >>> >>> This branch implements the logic needed for the qt4 and wx backends to >>> fully work with the upcoming IPython 0.11 release. In our testing we >>> have run many of the mpl examples (including the new animation >>> examples) in both qt4/wx in both the terminal based IPython and the >>> new IPython Qt GUI. For background on these changes please see this >>> thread: >>> >>> http://sourceforge.net/mailarchive/forum.php?thread_name=AANLkTik2SNtXMaezCc0UiMnCYg6LxwEL1eN9YASnmOua%40mail.gmail.com&forum_name=matplotlib-devel >>> >>> It is important to note that we have not updated the other matplotlib >>> backends (gtk, tk, etc.) to have this logic. This is mainly because >>> we know almost nothing about these toolkits and could really use some >>> help from folks who are experts at the respective toolkits. We have >>> done some minimal testing and these other backends do work for simple >>> examples in the terminal IPython, but they won't work in all cases and >>> will definitely not work in the new IPython Qt based GUI. >>> >>> We would love feedback and help testing as these changes are >>> significant (even though only a few lines of code). To test this >>> stuff you will need to grab the following IPython development branch: >>> >>> http://github.com/ipython/ipython/tree/newkernel >>> >>> You should be able to run the examples in regular ipython: >>> >>> ipython --pylab qt4|wx >>> >>> Or the new GUI >>> >>> ipythonqt --pylab qt4|wx >> >> Brian, Fernando, >> >> I have been doing a little testing with ipython 0.10 versus >> ipython-newkernel, both modes, and with mpl svn versus your guisupport. >> There are so many possible modes of operation and combinations of >> versions and backends that all this will take some time to sort out. >> >> Can you give me simple examples of what does *not* work correctly when >> you use mpl *svn* with ipython-newkernel, in either or both of the >> console or gui modes, but *does* work with your guisupport version? > > The problems are when matplotlib and enthought.traits/pyface/mayavi > stuff are used together. There are two types of problems: > > * Multiple apps are created. The enthought stuff used to not check > for existing apps, but that has been fixed.
That one is easy. > * Event loop is started multiple times. This one is more subtle and > on some toolkits the error is not fatal. This problem shows up when > IPython is run in terminal mode and event loop integration is handled > through PyOS_InputHook. In these situations, if matplotlib or ets > start the event loop themselves, IPython will hang. So, this can be checked with nothing but IPython and mpl. I think I may have seen this with some combination of configurations, though not with what I typically use. > > Unfortunately, I am having trouble getting an install of both > matplotlib svn and ets svn on the same machine, so I can't reproduce > any of the failures ATM. I am trying to get things installed so I can > reproduce the problems. At least twice in the last couple of years I have tried to get mayavi compiled and running, without fouling up my development versions of numpy and mpl. I never succeeded. Granted, I didn't allocate much time and mental energy to it. In any case, with the help of your recent explanations, I expect we can make mpl play by your suggested rules without sacrificing anything. Part of the change for mpl 1.0 was to factor all of the show logic out into backend_bases.py, leaving only the core mainloop call in the specific backends. I hope we can keep that aspect, retaining the ability to work with earlier ipython (0.10) and the ability for show to block or not depending on the interactivity state. Eric ------------------------------------------------------------------------------ Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev _______________________________________________ Matplotlib-devel mailing list Matplotlib-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-devel