Annoying message when opening windows from Python on OS X 10.8

Question:

Whenever I run a Python script that opens any kind of window on OS X 10.8, whether it’s a GLUT window or a QT one or anything else, I get a message that looks like this:

2013-09-11 14:36:53.321 Python[3027:f07] ApplePersistenceIgnoreState: Existing state will not be touched. New state will be written to /var/folders/0x/25_70mj17tb1ypm1c_js8jd40000gq/T/org.python.python.savedState

I use python2.7 installed via MacPorts.

This is a minor annoyance, but I’m curious to know what the message means, and whether there’s anything I can do to prevent it. Is it due to a misconfiguration of my system, or does everyone get this?

Asked By: N. Virgo

||

Answers:

Answering my own question, with thanks to @Steve Barnes for giving me a hint. It seems this problem can be solved with the terminal command

$ defaults write org.python.python ApplePersistenceIgnoreState NO

In the comments, Greg Coladonato reports that, in 2020, running Python 3, this may need to be changed to

$ defaults write org.python.python3 ApplePersistenceIgnoreState NO

I am not sure exactly how this command operates, but having done it some time ago I have observed no ill effects.

Note however, that another user has pointed out that this can cause a bug with python 3.4 on mountain lion where tkinter dialogs do not close when a button is pressed as one would expect.

$ defaults write org.python.python ApplePersistenceIgnoreState YES

will undo the command if you experience problems. (Replacing org.python.python with org.python.python3 if needed.)

Answered By: N. Virgo

The correct command to run is:

defaults write org.python.python ApplePersistenceIgnoreState NO

This message appears due to the “application resume” feature in newer versions of OS X. Clearly, this isn’t a useful feature for most Python programs (in my case, plotting data with matplotlib), so we can just turn it off with the above command.

For more information on what defaults write is actually doing, check out the man page.

Answered By: perimosocordiae

When running an anaconda python distribution, a slightly different write is needed:

defaults write com.continuum.python ApplePersistenceIgnoreState NO

Answered By: welch

I am running wxpython 4.1.1 with pyenv and sandbox everything with virtual environments. I am running python 3.9.x The option:

defaults write org.python.python3 ApplePersistenceIgnoreState NO

did not work for me. But,

defaults write org.python.python ApplePersistenceIgnoreState NO

did

Answered By: hasii
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.