Tkinter: «Python не может быть настроен для Tk»

Сегодня я хотел начать работать с Tkinter, но у меня есть некоторые проблемы.

Python 3.2 (r32:88445, Mar 28 2011, 04:14:07) [GCC 4.4.5] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> from tkinter import * Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/lib/python3.2/tkinter/__init__.py", line 39, in <module> import _tkinter # If this fails your Python may not be configured for Tk ImportError: No module named _tkinter 

Итак, как я могу настроить Python 3.2 для работы с Tkinter?

  • анимация цветного сюжета с воспроизведением, пауза, остановка использования с помощью Tkinter с вложением pylab / matplotlib: невозможно обновить фигуру / холст?
  • Как указать, где открывается окно Tkinter?
  • Как изменить цвет кнопки с помощью tkinter
  • Объясните метод текстового поиска Tkinter
  • Сетка внутри рамки?
  • python tkinter отображает анимированный GIF с использованием PIL
  • Вертикальный текст в холсте Tkinter
  • NameError: глобальное имя «END» не определено
  • 10 Solutions collect form web for “Tkinter: «Python не может быть настроен для Tk»”

    Согласно http://wiki.python.org/moin/TkInter :

    Если он не работает с «Нет модуля с именем _tkinter», ваша конфигурация Python должна быть изменена для включения этого модуля (который является модулем расширения, реализованным на C). Не редактируйте модули / настройки (устаревшие). Возможно, вам придется установить Tcl и Tk (при использовании RPM, также установить RPM -devel) и / или отредактировать скрипт setup.py, чтобы указать на нужные места, где установлен Tcl / Tk. Если вы устанавливаете Tcl / Tk в местоположения по умолчанию, просто перезапуск «make» должен построить расширение _tkinter.

    Установите tk-devel (или аналогично названный пакет) перед созданием Python.

    В Arch / Manjaro просто установите пакет tk :

     sudo pacman -S tk 

    Имел ту же проблему с Fedora с Python 2.7. Оказывается, требуются дополнительные пакеты:

     sudo dnf install tk-devel tkinter 

    После установки пакетов этот пример hello-world, похоже, отлично работает на Python 2.7:

     $ cat hello.py from Tkinter import * root = Tk() w = Label(root, text="Hello, world!") w.pack() root.mainloop() $ python --version Python 2.7.8 $ python hello.py 

    И через пересылку X11 это выглядит так:

    Hello World через X11

    Обратите внимание, что в Python 3 имя модуля имеет строчный формат, и, вероятно, необходимы другие пакеты …

     from tkinter import * 

    Я думаю, что наиболее полным ответом на этот вопрос является принятый ответ:

    Как заставить tkinter работать с установкой Ubuntu по умолчанию Python 2.7?

    Я понял это после слишком много времени, потраченного на эту проблему, поэтому, надеюсь, я смогу спасти кого-то еще от хлопот.

    Я обнаружил, что этот старый отчет об ошибке был признан недействительным, что упомянула точную проблему, с которой я столкнулся, у меня был Tkinter.py, но он не смог найти модуль _tkinter: http://bugs.python.org/issue8555

    Я установил пакет tk-dev с apt-get и перестроил Python, используя ./configure, make и make install в каталоге Python2.7.3. И теперь мой Python2.7 может импортировать Tkinter, yay!

    Я немного насторожился, что пакет tk-dev вообще не упоминается в документации по установке Python …. ниже – еще один полезный ресурс по отсутствующим модулям на Python, если, как и я, кто-то должен обнаружить, что они пропадают больше, чем _tkinter.

    О, я только что последовал за решением, которое Игнасио Васкес-Абрамс предлагает, чтобы установить tk-dev перед созданием python. (Построение Python-3.6.1 из источника на Ubuntu 16.04.)

    Были предварительно скомпилированные объекты и двоичные файлы, которые у меня были вчера, но я не очищал объекты и просто строю снова на одном пути сборки. И это прекрасно работает.

     sudo apt install tk-dev (On the python build path) (No need to conduct 'make clean') ./configure make sudo make install 

    Это оно!

     sudo apt-get install python3-tk 

    Чтобы заставить это работать с pyenv на Ubuntu 16.04, мне пришлось:

     $ sudo apt-get install python-tk python3-tk tk-dev 

    Затем установите версию Python, которую я хотел:

     $ pyenv install 3.6.2 

    Тогда я мог бы импортировать tkinter просто отлично:

     import tkinter 

    Я столкнулся с этой проблемой на python 2.7.9. для его исправления я установил tk и tcl, а затем перестроил код python и переустановил, а во время настройки я задал путь для tk и tcl явно,

    ./configure –with-tcltk-includes = "- I / usr / include" –with-tcltk-libs = "- L / usr / lib64 -ltcl8.5 -L / usr / lib64 -ltk8.5"

    также, целая статья для процесса установки python: Создание Python из Source

    Этот симптом также может возникать, когда более поздняя версия python (например, 2.7.13) была установлена ​​в / usr / local / bin «наряду с« версией релиза python », а затем последующим обновлением операционной системы (скажем, Ubuntu 12.04 -> Ubuntu 14.04) не удаляет обновленный python.

    Чтобы исправить эту несовместимость, нужно

    a) удалить обновленную версию python в / usr / local / bin;

    б) удалить python-idle2.7; а также

    c) переустановите python-idle2.7.

    Python - лучший язык программирования в мире.