【问题标题】:Annoying message when opening windows from Python on OS X 10.8在 OS X 10.8 上从 Python 打开窗口时出现烦人的消息
【发布时间】:2013-09-15 01:13:49
【问题描述】:

每当我在 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。

这是一个小烦恼,但我很想知道该消息的含义,以及我是否可以采取任何措施来防止它。是因为我的系统配置错误,还是每个人都明白?

【问题讨论】:

  • 似乎只有 Mac 用户才能获得此功能,并且它可能发生在各种程序上 - 问题在于给定进程的“重启时恢复”标志的设置。
  • @SteveBarnes 感谢您提供的信息。我可以更改“重启时恢复”标志,以阻止 Python 脚本出现此消息吗?
  • 可能 - 我不是 Mac 专家,但似乎有几个人遇到了这个问题。
  • 看来输入终端命令defaults write org.python.python ApplePersistenceIgnoreState NO 可以消除警告。如果它不会引起任何问题,我将使用它并发布它作为答案。 (或者如果你关心代表,你可以发布它。)非常感谢你给我一个帮助我解决它的提示。
  • (此问题的访问者可能希望注意,投票率最高的答案是在我自己的回答之后不久发布的。)

标签: python macos osx-mountain-lion


【解决方案1】:

正确的运行命令是:

defaults write org.python.python ApplePersistenceIgnoreState NO

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

有关defaults write 实际操作的更多信息,请查看man page

【讨论】:

  • 谢谢!我在尝试导入 cocos 库(cocos2d)时遇到此错误,以防万一。
  • 这对我有用,不知道为什么它首先出现,它没有更早出现
  • 在 2020 年,运行 Python3,我需要使用 org.python.python3 才能工作。
【解决方案2】:

回答我自己的问题,感谢@Steve Barnes 给我的提示。看来这个问题可以用终端命令解决

$ defaults write org.python.python ApplePersistenceIgnoreState NO

在 cmets 中,Greg Coladonato 报告说,在 2020 年,运行 Python 3,这可能需要更改为

$ defaults write org.python.python3 ApplePersistenceIgnoreState NO

我不确定这个命令到底是如何操作的,但我前段时间做过,没有观察到任何不良影响。

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

$ defaults write org.python.python ApplePersistenceIgnoreState YES

如果您遇到问题,将撤消该命令。 (如果需要,将org.python.python 替换为org.python.python3。)

【讨论】:

  • 非常感谢,你让我开心!实际上,我在 yosemite 和 el capitan(在 py2 和 py3 中)上的 tkinter 问题已经存在很长时间了,现在它已经用你指出的第一个命令(NO)完全解决了。
  • 在 2020 年,运行 Python3,我需要使用 org.python.python3 才能工作。
  • @GregColadonato 谢谢,我已经编辑了答案以反映这一点。
  • 在我的python3.7(被遗忘的出处)上,前者有效,后者无效。
【解决方案3】:

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

defaults write com.continuum.python ApplePersistenceIgnoreState NO

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-12
    • 1970-01-01
    • 2013-01-02
    • 1970-01-01
    • 1970-01-01
    • 2011-05-03
    • 2013-01-06
    • 1970-01-01
    相关资源
    最近更新 更多