簡體   English   中英

如何修復 Tkinter? 帶有 GUI 的每個代碼都會使 mac os 崩潰

[英]How to fix Tkinter? Every code with GUI crashes mac os with respring

我正在使用 PyCharm 為我自己的項目使用串行和 arduino 練習 tkinter。 沒什么特別的 - 幾個按鈕、選項菜單和標簽。 但是我在“顯示標簽欄”選項上單擊了 tkinter 的 GUI 窗口中 Mac 的菜單欄。 然后macbook重新啟動。 之后 - 每個帶有 tkinter GUI 的腳本都會在執行時重新啟動我的 macbook。 顯示一個空白窗口一秒鍾,然后 mac 重新啟動。 我正在使用 Mojave 10.14.6 (18G84)

我從 mac 中刪除了 python 3.7 解釋器並重新安裝了 PyCharm。 我清除了 python 和 PyCharm 的緩存文件夾。

import tkinter
tkinter._test() # and it crashes now ever in this code...

UPD:將 MacOS 更新到 10.14.6 (18G87) - 仍然是同樣的問題

根據他們的說法,似乎是一個常見問題python.org/download/mac/tcltk/#built-in-8-6-8

如果您使用的是 macOS 10.6 或更高版本,Apple 提供的 Tcl/Tk 8.5 存在嚴重錯誤,可能導致應用程序崩潰。

與其修復 TCL/TK,我建議您重新安裝滿足要求的 Python 版本並使用它python.org/downloads/release/python-374

您是否嘗試將 tkinter 降級到低於導致崩潰的版本?

即在 conda 中從 8.6.8 到 8.6.7 可以通過執行:

conda install tk 8.6.7 

這就是修復相同問題和錯誤日志所需的全部內容,也可以與 pip 一起使用

使用 Miniconda3 安裝 python 3.7.4 和 tkinter 8.6.8 后,我在 Mojave 10.14.6 上遇到了這個問題。

降級到 python 3.7.0 為我解決了這個問題。

conda install python=3.7.0

我在 macOS 10.14.6 中的 anaconda3 中的 python 3.7.0、tk 8.6.8 也有同樣的問題:一旦我啟動了我的 tk 接口腳本,操作系統就會注銷,而沒有顯示錯誤消息或提交錯誤報告。 窗戶也丟失了。

更新到 macOS 10.15.3 后,我的問題就解決了。 Tk 工作正常,沒有發現新問題。

可以在此處找到對該問題的較長解釋。 看起來您應該避免使用 python 的第三方分發程序。

我有同樣的問題。 你的代碼讓我的電腦崩潰了。 為了修復它,我必須從這里安裝 python。 這將成為您系統的python 3.7 版本。 我卸載了 anaconda 並在 PyCharm 中使用了系統的 3.7 解釋器。 接下來,我必須開始安裝軟件包以使我的代碼工作。 這可能看起來有點乏味/困難。 不幸的是,我嘗試的其他一切都失敗了。

在此處輸入圖片說明

我有一個類似的問題。 解決我的問題的一種方法是將代碼作為2.7腳本運行。 仍然試圖讓Tkinter在python3中工作

我正在為 python 2 使用 Conda 虛擬環境,切換到系統解釋器為我解決了這個問題。 如果您沒有系統解釋器,請使用

$ brew install python@2

並使用這個解釋器來運行程序。 在 PyCharm 中,您將打開您的項目,轉到首選項 -> 項目 -> 解釋器並選擇您安裝的 2.7 解釋器。

任何系統解釋器對我來說似乎都很好。 正如@Rfm0905 所說,如果您沒有系統解釋器,請使用 brew 安裝它。 但是,您可以使用brew install python${version}對任何 python 版本執行此操作。 據我所知,這個版本可能是 3(對於 python 3.7.5)或 2(對於 python 2.7.4)。

我也遇到了同樣的問題; 代碼開始運行(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 這可能只是我系統的一個怪癖......但我認為它對其他人可能有用。

我遇到了同樣的問題,我最近找到了一個解決方案。

首先打開終端,輸入“python”進入macOS提供的python 2.7。

然后輸入:

 import Tkinter as tk
 print("Tk Version: {}".format(tk.Tk().eval('info patchlevel')))

然后會彈出一個普通的python2.7版本和8.5.9版本的tk窗口。 然后重做使 python3 的 tk 崩潰的相同操作,即“在 tkinter 的 GUI 窗口中的 Mac 菜單欄上單擊‘顯示標簽欄’選項”。 但這一次,它將更改為“隱藏標簽欄”。 單擊它后,tk 的標簽欄將消失。

之后,您在python3中的tk和tk version 8.6.x應該可以正常運行。

我認為這是 macOS 中的一個錯誤。 在 tk 版本 8.6.x(不是 macOS 提供的 tk 8.5.9)中顯示標簽欄時,macOS 會崩潰。 而上面的解決方案只是取消了標簽欄的顯示,所以它並沒有“真正”解決這個錯誤。 所以看起來你需要更新到 macOS 10.15 才能真正解決它。 這意味着您仍然無法在使用 tk 版本 8.6.x 的 macOS 10.14 中“顯示標簽欄”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM