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
Другие вопросы по тегам