posted this on October 24, 2013, 10:19
(Revised January 21, 2015 to refer to Mac crash article - subscribe to this article for updates -- to the right of the article's title)
Summary: If you are using Mavericks, update to Canopy 1.4.1 (or higher). If you previously disabled AppNap for Python, you can re-enable it.
OS X 10.9 Mavericks was released on October 22, 2013. There are several compatibility issues which may require fixes in Mavericks, Python, Canopy, and (IPython and/or Matplotlib and/or Qt and/or wx). The most critical issues are fixed in Canopy 1.3 and higher.
In Canopy 1.1, several partial workarounds are available, but only consider these if for some organizational reason you are not allowed to update.
IPython Pylab/Matplotlib issues: workarounds for Canopy 1.1
Canopy 1.2+ users can skip this section.
Canopy's Python shell panel is an embedded IPython QtConsole. By default, it runs in Pylab mode, with interactive Qt as the backend. In this configuration, Pylab becomes intolerably slow for even the simplest commands, apparently because of the new "App Naps" feature in Mavericks.
1) The simplest workaround, if you do not need interactive graphics, is to change to a non-interactive backend. Go the Canopy / Preferences menu, select "Python", and under "Pylab backend", select "Inline (SVG)".
If you do need interactive graphics, you have several options:
2) Disable App Nap for Python. Open a Terminal, and type the following command (thanks to IPython's MinRK):
Canopy 1.1's Python notebook runs in Pylab mode, with interactive Qt as the backend. In this configuration, Pylab becomes intolerably slow under OS X Mavericks, apparently due to both backend and frontend interactions.
The only known workarounds are to run the ipython notebook from the command line.
1) Easiest is to use OSX as the pylab backend (replace 64bit with 32bit if appropriate):
Fix: Canopy 1.2+ GUI application's embedded notebook supports Qt, Wx, and inline backends on all platforms. Canopy 1.2+'s default IPython, and the GUI application's embedded notebook, includes MinRK's fixes at https://github.com/ipython/ipython/pull/4453, which appears to fix both frontend and backend issues for all supported backends.
For Python-Mavericks issues, and at least one reference to more general Mavericks issues, see this thread on the Python-Dev discussion list. These issues will not necessarily affect most Canopy users, but it's too early to be sure. The just-released Python 2.7.6 addresses these issues, and is included in Canopy 1.3 and higher.
Resources / Links
Ipython report, for discussion of IPython-Mavericks issues, and App Nap in particular.
This Macworld article includes a paragraph about App Nap, including how to disable it for a particular application.