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,

  1. Удалите свою версию Python. Например: pyenv uninstall 3.7.2
  2. Установить TK: brew install tcl-tk TK
  3. Следуйте инструкциям после установки и настройте 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
  1. Перезагрузите сеанс терминала и убедитесь, что все настройки выше установлены правильно
  2. Установить python: pyenv install 3.7.2

ТЗ должен работать сейчас

Ответ 3

Для пользователей Mac,

  1. Полностью brew uninstall pyenv && rm -rf ~.pyenv: brew uninstall pyenv && rm -rf ~.pyenv.
  2. установить zlib, tcl-tk и pyenv
brew update
brew install zlib
brew install tcl-tk #otherwise we may have problems with tf package
brew install pyenv
  1. Заставь компиляторы найти 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.