IPython has an option to create a main event loop to run wx apps without blocking the shell. It does not work in ipython 0.10.1 Reproducible: Always Steps to Reproduce: $ ipython -wthread Python 2.6.6 (r266:84292, Mar 4 2011, 21:12:10) Type "copyright", "credits" or "license" for more information. IPython 0.10.1 -- An enhanced Interactive Python. ? -> Introduction and overview of IPython's features. %quickref -> Quick reference. help -> Python's own help system. object? -> Details about 'object'. ?object also works, ?? prints more. In [1]: import wx In [2]: wx.App.IsMainLoopRunning() Out[2]: False In [3]: Actual Results: Main Loop not running Expected Results: Main Loop running Seen in x86 and amd64.
Please report this problem to upstream. https://github.com/ipython/ipython/issues
It works again with 0.10.2. $ ipython -wthread Python 2.7.1 (r271:86832, Mar 29 2011, 15:05:30) Type "copyright", "credits" or "license" for more information. IPython 0.10.2 -- An enhanced Interactive Python. ? -> Introduction and overview of IPython's features. %quickref -> Quick reference. help -> Python's own help system. object? -> Details about 'object'. ?object also works, ?? prints more. In [1]: import wx In [2]: wx.App.IsMainLoopRunning() Out[2]: True In [3]: Closing threads... Done. $