python macos osx-mountain-lion

Mensaje molesto al abrir ventanas de Python en OS X 10.8



macos osx-mountain-lion (3)

Cuando se ejecuta una distribución python anaconda, se necesita una escritura ligeramente diferente:

defaults write com.continuum.python ApplePersistenceIgnoreState NO

Cada vez que ejecuto una secuencia de comandos de Python que abre cualquier tipo de ventana en OS X 10.8, ya sea una ventana GLUT o una QT o cualquier otra cosa, recibo un mensaje como este:

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

Yo uso python2.7 instalado a través de MacPorts.

Esto es una molestia menor, pero tengo curiosidad por saber qué significa el mensaje y si hay algo que pueda hacer para evitarlo. ¿Se debe a una mala configuración de mi sistema, o todos lo entienden?


El comando correcto para ejecutar es:

defaults write org.python.python ApplePersistenceIgnoreState NO

Este mensaje aparece debido a la característica de "reanudación de la aplicación" en las versiones más recientes de OS X. Claramente, esta no es una característica útil para la mayoría de los programas de Python (en mi caso, trazar datos con matplotlib), así que simplemente podemos desactivarlo con el comando anterior.

Para obtener más información sobre lo que realmente están haciendo los defaults write , consulte la página del manual .


Respondiendo a mi propia pregunta, gracias a @Steve Barnes por darme una pista. Parece que este problema se puede resolver con el comando de terminal

$ defaults write org.python.python ApplePersistenceIgnoreState NO

No estoy seguro de qué hace exactamente este comando, pero al haberlo hecho hace algún tiempo no he observado ningún efecto negativo.

Sin embargo, tenga en cuenta que otro usuario ha señalado que esto puede causar un error con Python 3.4 en el león de montaña, donde los diálogos de tkinter no se cierran cuando se presiona un botón como cabría esperar.

$ defaults write org.python.python ApplePersistenceIgnoreState YES

deshará el comando si experimenta problemas.