How to fix Tkinter? Every code with GUI crashes mac os with respring
我当时在PyCharm的tkinter练习我自己的序列和arduino项目。
没什么特别的-几个按钮,选项菜单和标签。
但是我在tkinter的GUI窗口中的"显示标签栏"选项上单击了Mac的菜单栏。
然后Macbook重新启动。
之后-使用tkinter GUI的每个脚本都会在执行时重新启动我的Macbook。
显示空白窗口一秒钟,然后Mac重新启动。
我正在使用Mojave 10.14.6(18G84)
我从Mac删除了python 3.7解释器,然后重新安装了PyCharm。
我清除了python和PyCharm的缓存文件夹。
1 2 | import tkinter tkinter._test() # and it crashes now ever in this code... |
UPD:MacOS更新至10.14.6(18G87)-仍然是同一问题
使用Miniconda3安装python 3.7.4和tkinter 8.6.8后,在Mojave 10.14.6上遇到了这个问题。
降级到python 3.7.0为我解决了这个问题。
1 | conda install python=3.7.0 |
您是否尝试将tkinter降级到导致崩溃的版本以下?
即可以通过执行以下操作来将conda从8.6.8更改为8.6.7:
1 | conda install tk 8.6.7 |
这就是解决相同问题和错误日志的全部步骤,可能对pip也适用
根据他们的说法,这似乎是一个常见问题python.org/download/mac/tcltk/#built-in-8-6-8
If you are using macOS 10.6 or later, the Apple-supplied Tcl/Tk 8.5 has serious bugs that can cause application crashes.
我建议您重新安装一个满足要求的python版本,并使用它python.org/downloads/release/python-374,而不是修复TCL / TK
我遇到了同样的问题,最近我建立了一个解决方案。
首先,打开终端并输入" python"以输入由macOS提供的python 2.7。
然后输入:
1 2 | import Tkinter as tk print("Tk Version: {}".format(tk.Tk().eval('info patchlevel'))) |
然后它将在python2.7版本和tk版本8.5.9中弹出一个普通的tk窗口。
然后重做使python3的tk崩溃的相同操作,即"在tkinter的GUI窗口中的"显示选项卡"选项上单击Mac的菜单栏"。但是这次,它将更改为"隐藏选项卡栏"。单击后,tk的标签栏将消失。
之后,您的python3和TK版本8.6.x中的TK应该可以正常运行。
我认为这是macOS中的错误。在tk版本8.6.x中显示选项卡栏(不是macOS提供的tk 8.5.9)时,macOS将崩溃。上面的解决方案只是取消了标签栏的显示,因此并不是"真正"解决了该错误。因此,看起来您需要更新到macOS 10.15才能真正解决它。这意味着您仍然无法在带有tk版本8.6.x的macOS 10.14中"显示标签栏"。
我在macOS 10.14.6中的anaconda3中的python 3.7.0,tk 8.6.8有相同的问题:启动tk接口脚本后,操作系统将注销,而不会显示错误消息或提交错误报告。 Windows也丢失了。
一旦更新到macOS 10.15.3,我的问题就解决了。 Tk工作正常,尚未发现新问题。
我在同一个问题上挣扎。代码开始运行(mac os 10.14.6 Mojave),然后查看登录屏幕。重新登录后,PyCharm和chrome浏览器也都关闭。
这对我有用:
1)python 3.8.1-我也让它在python 3.6上运行,所以大概3.7也可以工作。
2)从ActiveState安装ActiveTCL 8.6。背景参考在这里。
3)我无法在PyCharm中使任何虚拟环境与tkinter一起使用-我尝试了miniconda和virtualenv的多次迭代。 Python解释器必须是常规的安装路径-即我的路径是/usr/local/binpython3.8这可能只是我系统的一个怪癖...但是我认为它对其他人可能有用。
任何系统解释器似乎对我来说都很好。正如@ Rfm0905所说,如果没有,请使用brew安装系统解释器。但是,您可以使用
我在python 2上使用了Conda虚拟环境,切换到系统解释器为我解决了这个问题。如果您没有系统解释器,请使用
1 | $ brew install python@2 |
并使用此解释器运行程序。在PyCharm中,您将打开项目,转到首选项->项目->解释器,然后选择安装的2.7解释器。
在此可以找到有关该问题的较长解释。看来您应该避免使用python的第三方分发程序。
我有同样的问题。您的代码使我的计算机崩溃了。要修复它,我必须从这里安装python。这将成为您系统的python 3.7版本。我卸载了anaconda,并在PyCharm中使用了系统的3.7解释器。接下来,我必须开始安装软件包才能使代码正常工作。这似乎有点乏味/困难。不幸的是,我尝试过的所有其他方法都失败了。
在此处输入图片说明