gpt4 book ai didi

python - py2app 应用程序正在运行,但 Mac OS X 显示它没有响应

转载 作者:太空宇宙 更新时间:2023-11-04 01:06:50 24 4
gpt4 key购买 nike

我有一个生成子线程的 python 脚本(无 GUI),而父线程阻止应用程序使用此方法完成:

try:
while True:
time.sleep(1)
except (KeyboardInterrupt, SystemExit):
pass
finally:
cleanup()

当我使用 py2app 从这个脚本创建应用程序并运行它时,它停留在 Dock 中并按预期工作,但是当我右键单击时,它显示“应用程序无响应”(在事件监视器中相同)并且完成它我只能选择“强制退出”,这会导致之后出现崩溃报告对话框。

为什么它没有响应,如果原因是 sleep(),没有它我该如何保持应用程序打开?

最佳答案

它显示为“未响应”,因为它没有响应。 OS X 上的应用程序(与普通的“Unix 可执行文件”/脚本、代理或守护程序相对)必须响应来自操作系统的消息。

通常,您可以使用 Cocoa run loop 来执行此操作. PyObjC 提供了一些 high-level helpers这使它变得更简单,或者只是让您访问 Apple 文档从 Python 描述的相同 Cocoa 方法。

另一种选择是使用脚本包装器,它只运行您的脚本,同时为您维护一个运行循环(有或没有 GUI)。

最后,你真的需要首先成为一个应用程序吗?

关于python - py2app 应用程序正在运行,但 Mac OS X 显示它没有响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29957709/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com