Раздражающее сообщение при открытии окон из Python на OS X 10.8

Всякий раз, когда я запускаю Python script, который открывает любое окно в OS X 10.8, будь то окно GLUT или QT или что-то еще, я получаю сообщение, которое выглядит так:

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

Я использую python2.7, установленный через MacPorts.

Это незначительная досада, но мне любопытно узнать, что означает сообщение, и есть ли что-нибудь, что я могу сделать, чтобы это предотвратить. Это связано с неправильной конфигурацией моей системы или все это получают?

Ответы

Ответ 1

Отвечая на мой собственный вопрос, спасибо @Steve Barnes за то, что он дал мне подсказку. Кажется, эта проблема может быть решена с помощью команды терминала

$ defaults write org.python.python ApplePersistenceIgnoreState NO

Я точно не знаю, что делает эта команда, но, сделав это некоторое время назад, я не наблюдал никаких негативных последствий.

Обратите внимание, что другой пользователь указал, что это может вызвать ошибку с python 3.4 на горном льве, где диалоги tkinter не закрываются при нажатии кнопки, как можно было бы ожидать.

$ defaults write org.python.python ApplePersistenceIgnoreState YES

отменит команду, если у вас возникнут проблемы.

Ответ 2

Правильная команда для запуска:

defaults write org.python.python ApplePersistenceIgnoreState NO

Это сообщение появляется из-за функции "возобновления приложения" в новых версиях OS X. Ясно, что это не является полезной функцией для большинства программ Python (в моем случае, для печати данных с помощью matplotlib), поэтому мы можем просто превратить это с помощью приведенной выше команды.

Для получения дополнительной информации о том, что действительно делает defaults write, ознакомьтесь с справочной страницей.

Ответ 3

При запуске дистрибутива anaconda python требуется немного другая запись:

defaults write com.continuum.python ApplePersistenceIgnoreState NO