我正在为 python 项目开发 Tkinter GUI。昨天一切都很好,但是今天当我运行以下命令时,我的 mac 立即崩溃(返回到登录屏幕)mainloop()
命令。
我尝试通过减少 GUI 功能来隔离问题,但没有任何帮助。即使是最简单的 GUI 也会出现这个问题。
我正在使用这个演示代码:
from tkinter import Tk, Label, Button
class MyFirstGUI:
def __init__(self, master):
self.master = master
master.title("A simple GUI")
root = Tk()
my_gui = MyFirstGUI(root)
root.mainloop()
当我运行最后一行时,我的屏幕会变黑一秒钟,然后返回 MacOS 登录屏幕。从终端运行脚本时也会发生这种情况。重复几次后,我发现每次崩溃后都会在 system.log 中重复出现这一行:
Jul 29 17:58:51 MacBook-Pro-myname com.apple.xpc.launchd[1] (com.apple.WindowServer[1510]): Service exited due to SIGSEGV | sent by exc handler[1510]
每次崩溃的处理程序编号都是唯一的。在安全模式下启动可以解决问题,但我当然不能永远生活在安全模式下:)
这似乎是某种内部问题,因为 python 代码再简单不过了。我不知道如何调试这个,有人可以帮我吗?
已修复 - 由于某种原因,Tkinter 开始弄乱我的机器。更新到 8.6.9 解决了该问题。 (看:https://bugs.python.org/issue34927 https://bugs.python.org/issue34927)