Tkinter导致SIGSEGV和系统崩溃-如何解决?

卡兹·维米尔(Kaz Vermeer)

我正在为python项目开发Tkinter GUI。昨天一切都很好,但是今天当我运行mainloop()命令时,我的Mac立即崩溃(返回登录屏幕)

我试图通过减少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

卡兹·维米尔(Kaz Vermeer)

出于某种原因,原来的标准版本的Tkinter(8.6。*)不再正常运行。我找到了https://bugs.python.org/issue34927,并在更新到Tkinter 8.6.9(conda forge)后不久,似乎已经解决了该问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章