Почему мой Python, установленный через домашний brew, не включает Tkinter

Я установил свой Python через homebrew на Mac.

brew install python

и после этого я проверил мою версию python как 2.7.11, затем я попытался выполнить

import Tkinter

У меня появилось следующее сообщение об ошибке:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  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

Ответ 1

Исходя из комментариев выше и того факта, что Python должен быть связан с инфраструктурой Tcl/Tk:

Если у вас нет инструментов командной строки Xcode, установите их:

xcode-select --install

Если у вас нет установки Tcl/Tk brew (проверьте список brew), установите это:

brew install tcl-tk

Затем запустите "brew удалить python", если он не был установлен с опцией --with-tcl-tk (текущая официальная опция). Затем снова установите Python, связав его с brew установленным Tcl/Tk:

brew install python --with-tcl-tk

Ответ 2

Обновление 12/18: больше невозможно по различным причинам.

Ниже приведена устаревшая версия. Вам нужно будет установить Python прямо из python.org, если вы хотите удалить эти предупреждения.


Обновление 2018 года

brew reinstall python --with-tcl-tk

Примечание: Homebrew теперь использует Python 3 по умолчанию - блог Homebrew. Документы.


тестирование

python должен вызывать системы Python 2, python3 должен воспитывать Python 3.

idle указывает на систему Python/tcl-tk. Он покажет устаревшую ошибку tcl-tk (если вы не brew install [email protected] --with-tcl-tk)

idle3 должен вызывать Python 3 без предупреждений.

Предостережение

--with-tcl-tk будет устанавливать python непосредственно из python.org, который вы увидите при запуске brew info python.

Больше информации здесь.

Ответ 3

В Mac OSX вы должны установить TCL отдельно:

Здесь вы найдете инструкции и dowloadables: https://www.tcl.tk/software/tcltk/ и там: http://wiki.tcl.tk/1013

Это требует немного усилий, но это не сложно и сложно.

Ответ 4

Возможно, это связано с тем, что у вас нет последних инструментов командной строки Xcode, поэтому brew построил питон из источника, а не из бутылки. Попробуйте:

xcode-select --install
brew uninstall python
brew install python --use-brewed-tk