Ошибка при использовании Tkinter в python на Mac OS X

Я попытался запустить код NLTK для рисования деревьев разбора. Я получил ошибку, что модуль tkinter не установлен.

Это сообщения об ошибках, которые я получил:

1. UserWarning: nltk.draw package not loaded (please install Tkinter library).
   warnings.warn("nltk.draw package not loaded")

2. import _tkinter # If this fails your Python may not be configured for Tk
   ImportError: No module named _tkinter

После некоторых поисков я установил ActiveTcl 8.5.18.0, используя эту инструкцию.

Но когда я пытаюсь запустить свой код, я все еще получаю ошибку sam. Я старался

import Tkinter

но я получаю второе сообщение об ошибке выше снова.

File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk/Tkinter.py", line 39, in <module>
import _tkinter # If this fails your Python may not be configured for Tk
ImportError: No module named _tkinter

Я также посмотрел документацию Tkinter и упомянул, что правильную установку Tkinter можно проверить, выполнив следующую команду, которая снова дает мне еще одну ошибку.

command: python -m tkinter
error: /usr/local/opt/python/bin/python2.7: No module named tkinter

Я нашел эти ответы на Stackru для моей проблемы, но они либо не очень ясны, либо не применимы к моему делу.

  1. Как заставить tkinter работать с установленной по умолчанию Ubuntu Python 2.7? Проблемы: tk-dev недоступен для OS X (он такой же, как ActiveTcl), и я не мог понять, как перестроить мой python, используя make

  2. Tkinter: "Возможно, Python не настроен для Tk". Проблемы: очень расплывчатые. Я не знаю что мне делать

пожалуйста помоги.

1 ответ

Решение

Вы должны установить ActivePython, а не ActiveTcl, и использовать его в качестве предпочитаемого Python.

Проблема в том, что ваша установка Python не получает установку Tcl, и самый простой способ решить эту проблему - установить версию Python, настроенную для Tk, которая ActivePython: http://www.activestate.com/activepython

Проблема в том, что модуль _tkinter Python не установлен в вашей сборке, что является обязательным мостом между Python и Tk. К сожалению, вам придется переустановить nltk и любые другие пакеты, которые вы используете, поскольку у вас будут установлены версии для вашего текущего Python, а не для нового.

Другие вопросы по тегам