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

Nat*_*iel 25 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
Run Code Online (Sandbox Code Playgroud)

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

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

per*_*iae 35

正确的运行命令是:

defaults write org.python.python ApplePersistenceIgnoreState NO
Run Code Online (Sandbox Code Playgroud)

由于新版OS X中的"应用程序恢复"功能,会出现此消息.显然,对于大多数Python程序而言,这不是一个有用的功能(在我的情况下,使用matplotlib绘制数据),因此我们可以将其关闭上面的命令.

有关defaults write实际操作的更多信息,请查看手册页.

  • 在 2020 年,运行 Python3 时,我需要使用“org.python.python3”才能正常工作。 (2认同)

Nat*_*iel 24

回答我自己的问题,感谢@Steve Barnes给了我一个提示.看来这个问题可以通过terminal命令解决

$ defaults write org.python.python ApplePersistenceIgnoreState NO
Run Code Online (Sandbox Code Playgroud)

我不确定这个命令究竟是做什么的,但是前段时间我已经完成了这个命令没有发现任何不良影响.

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

$ defaults write org.python.python ApplePersistenceIgnoreState YES
Run Code Online (Sandbox Code Playgroud)

如果遇到问题,将撤消命令.


wel*_*lch 5

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

defaults write com.continuum.python ApplePersistenceIgnoreState NO