Python не настроен для Tk
Я использую Ubuntu 13.10 и Python 3.3.4 с помощью pyenv. У меня нет проблем с использованием других модулей. Когда я вхожу в консоль python и пишу
import tkinter
Он выводит
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/serdar/.pyenv/versions/3.3.4/lib/python3.3/tkinter/__init__.py", line 40, in <module>
import _tkinter # If this fails your Python may not be configured for Tk
ImportError: No module named '_tkinter'
Я уже установил python3-tk
и tk-devel
.
Ответы
Ответ 1
Вам нужно иметь файлы/заголовки разработки Tk, доступные во время pyenv install
.
В Ubuntu (15.04) должно быть указано следующее: sudo apt-get install tk-dev
.
После этого pyenv install 3.4.3
(или pyenv install 2.7.10
и т.д.) должен забрать его и иметь поддержку Tk.
(Справочная проблема в pyenv)
Ответ 2
Это руководство для пользователей Mac,
- Удалите свою версию Python. Например:
pyenv uninstall 3.7.2
- Установить TK:
brew install tcl-tk
TK - Следуйте инструкциям после установки и настройте tk:
export LDFLAGS="-L/usr/local/opt/tcl-tk/lib"
export CPPFLAGS="-I/usr/local/opt/tcl-tk/include"
export PATH=$PATH:/usr/local/opt/tcl-tk/bin
- Перезагрузите сеанс терминала и убедитесь, что все настройки выше установлены правильно
- Установить python:
pyenv install 3.7.2
ТЗ должен работать сейчас
Ответ 3
Для пользователей Mac,
- Полностью
brew uninstall pyenv && rm -rf ~.pyenv
: brew uninstall pyenv && rm -rf ~.pyenv
. - установить zlib, tcl-tk и pyenv
brew update
brew install zlib
brew install tcl-tk #otherwise we may have problems with tf package
brew install pyenv
- Заставь компиляторы найти zlib. Добавьте это к вашему ~/.bashrc или ~/.zshrc (если вы используете oh-my-zsh)
# For compilers to find zlib you may need to set:
export LDFLAGS="${LDFLAGS} -L/usr/local/opt/zlib/lib"
export CPPFLAGS="${CPPFLAGS} -I/usr/local/opt/zlib/include"
# For pkg-config to find zlib you may need to set:
export PKG_CONFIG_PATH="${PKG_CONFIG_PATH} /usr/local/opt/zlib/lib/pkgconfig"
Тогда вы настроены! Для более подробной информации проверьте этот GitHub Gist.