在OS X 10.8上从Python打开窗口时出现恼人的消息

时间:2013-09-11 06:18:47

标签: python macos osx-mountain-lion

每当我运行一个在OS X 10.8上打开任何窗口的Python脚本时,无论是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

我使用通过MacPorts安装的python2.7。

这是一个小烦恼,但我很想知道这个消息的含义,以及我能做些什么来阻止它。是因为我的系统配置错误,还是每个人都得到了这个?

3 个答案:

答案 0 :(得分:32)

正确的运行命令是:

defaults write org.python.python ApplePersistenceIgnoreState NO

此消息由于"应用程序恢复而出现"在较新版本的OS X中的功能。显然,对于大多数Python程序来说,这不是一个有用的功能(在我的例子中,使用matplotlib绘制数据),所以我们可以使用上面的命令将其关闭。

有关defaults write实际执行的操作的详细信息,请查看man page

答案 1 :(得分:23)

回答我自己的问题,感谢@Steve Barnes给我一个提示。似乎这个问题可以用终端命令

解决
$ defaults write org.python.python ApplePersistenceIgnoreState NO

我不确定这个命令究竟是做什么的,但是前一段时间我做过这件事我没有发现任何不良影响。

但请注意,另一位用户指出,这可能会导致山狮上的python 3.4出现错误,当按下按钮时,tkinter对话框不会关闭。

$ defaults write org.python.python ApplePersistenceIgnoreState YES
如果遇到问题,

将撤消命令。

答案 2 :(得分:4)

运行anaconda python发行版时,需要稍微不同的写入:

defaults write com.continuum.python ApplePersistenceIgnoreState NO