Tkinter продолжает сбой на Tk() на Mac
Я столкнулся с проблемой при попытке создать окно Tkinter с помощью root = tk.Tk()
, Каждый раз, когда я добираюсь до этой точки, происходит сбой программы, и отображается сообщение "Python неожиданно завершил работу".
Я не получаю никаких трассировок, поэтому я предполагаю, что это ошибка ActiveTcl. Однако у меня установлен новый дистрибутив с веб-сайта ActiveTcl, который должен позаботиться о проблеме (очевидно, это не так).
Интересно, что он падает только при запуске в Python 2.7. Он отлично работает в Python 3.6. Однако мне нужно использовать 2.7.
Моя версия MacOS - 10.12.5.
Любые идеи / предложения по устранению проблемы приветствуются.
PS Я прочитал добрую дюжину подобных постов, прежде чем опубликовать это, и ни одно из предложенных решений не сработало для меня. Пожалуйста, учтите это, прежде чем пометить этот пост как дубликат.
2 ответа
Я не знаю, что подразумевается под "новым дистрибутивом" для ActiveTcl, но если вы используете 8.6, его нужно снизить до 8.5.
Кроме того, если вы запускаете IDLE, который использует Tkinter, вы видите какие-либо сообщения, предупреждающие о "нестабильности"? Если вы видите это тогда, это означает, что вам нужно понизить Tcl до 8.5.
Вы используете Python 3 через Anaconda? Tkinter действовал на меня со всех сторон, а затем я удалил Anaconda, и теперь он работает нормально.
Интересно, что я запускаю комбинацию PyCharm Professional / Anaconda на виртуальной машине Windows 10 на моем Mac, и у меня также есть проблемы с Tkinter на ней. Однако у меня нет абсолютно никаких проблем с моим Linux Mint.
Повторюсь, мне удалось устранить проблему, полностью удалив Anaconda. ( Как полностью удалить Anaconda из macOS)
Tkinter должен быть импортирован следующим образом для работы с Python 2 и 3:
try:
import tkinter
except ImportError: # python 2
import Tkinter as tkinter