Модуль Tkinter не найден в Ubuntu

#python-3.x #tkinter

#python-3.x #tkinter

Вопрос:

 Python 2.7.1  (r271:86832, Apr 11 2011, 18:05:24) 
[GCC 4.5.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import Tkinter
>>> 
  

с другой стороны…

 Python 3.2 (r32:88445, Mar 25 2011, 19:28:28) 
[GCC 4.5.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import Tkinter
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named Tkinter 
  

Я проверил synaptic, Tkinter установлен. Затем я нашел это—

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

Я предполагаю, что tkinter все еще связан со старым python на моем компьютере. Как мне изменить это, чтобы python3 мог использовать tkinter?

Комментарии:

1. «sudo apt-get install python3-tk» устанавливает tkinter для Python3

Ответ №1:

То, что сработало для меня в Ubuntu, на самом деле было просто:

 sudo apt-get install python3-tk
  

Для python 3.6:

 sudo apt-get install python3.6-tk
  

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

Комментарии:

1. Этот пакет действительно был необходим для меня, но имейте в виду, что название Tkinter теперь tkinter в Python3, поэтому другие ответы все еще актуальны.

2. при выполнении первой команды я получаю сбой подключения, хотя вторая работает нормально

3. Я не знаю, что произошло, sudo apt-get install python3-tk у меня не сработало (tkinter все еще не найден), но установка python3-tk через synaptic сработала. (Ubuntu 16.04 с python 3.6)

4. Он все еще работает. Молодец

5. Возможно, довольно поздно, но я проверил вывод apt-cache policy python3*-tk , он выдал мне python3-tk как жизнеспособный, записи для 3.10-tk и 3.11-tk были пустыми. Установка python3-tk сработала для меня. (Ubuntu22.04, Python 3.10.6)

Ответ №2:

Ответ на ваш вопрос заключается в том, что в python3 он Tkinter переименован в tkinter .

То есть со строчной буквы t.

Ответ №3:

В python 3 T kinter переименован t в kinter

Комментарии:

1. Это ответ на вопрос. PS: Если вы запускаете свой скрипт с ошибкой, не забудьте использовать «#!/usr/bin/python3». Например, в Ubuntu 12.04 версией Python по умолчанию является 2.7.3, поэтому «Tkinter» будет работать с «#!/usr/bin/python», но не с Python 3.

2. Во-вторых, это лучший и самый простой ответ на вопрос

Ответ №4:

Используйте следующую команду:

 sudo apt-get install python3-tk
  

Следующие команды не работают:

 sudo apt-get install python3-tkinter
sudo apt-get install python3-Tkinter
pip3 install Tkinter
pip3 install tkinter
  

Ответ №5:

 sudo apt-get install python3-tk
  

Ответ №6:

Поскольку вы упомянули synaptic, я думаю, что вы используете Ubuntu. Вероятно, вам нужно запустить update-python-modules, чтобы обновить ваш модуль Tkinter для Python 3.

РЕДАКТИРОВАТЬ: Запущено обновление-python-modules

Сначала убедитесь, что вы python-support установили:

 sudo apt-get install python-support
  

Затем запустите, update-python-modules используя -a опцию, чтобы перестроить все модули:

 sudo update-python-modules -a
  

Однако я не могу гарантировать, что все ваши модули будут собраны, поскольку между Python 2 и Python 3 произошли некоторые изменения в API.

Комментарии:

1. «sudo apt-get install python-support» приводит к следующей ошибке «E: Пакет ‘python-support’ не имеет кандидата для установки»

2. У меня также была та же ошибка, что и у @jason E: Package 'python-support' has no installation candidate , хотя я запускаю ее из docker (изображение tensorflow). Кто-нибудь знает, как это исправить?

3. @CharlieParker В Ubuntu 16.04 LTS я смог исправить это с помощью apt-get install python3-tk

4. Для тех из вас, у кого есть E: Package 'X' has no installation candidate , вам следует сначала запустить sudo apt-get update .

5. есть ли способ, которым я могу сделать это и в gitpod тоже? он не позволяет мне использовать sudo и не позволяет мне обходиться без него

Ответ №7:

Если вы используете Ubuntu 18.04 вместе с Python 3.6, то pip или pip3 не помогут. Вам необходимо установить tkinter с помощью следующей команды:

 sudo apt-get install python3-tk
  

Комментарии:

1. Кажется, что это просто повторяет несколько предыдущих ответов за 2015-2017 годы

Ответ №8:

У меня была такая же проблема. Я пытался использовать:

 sudo apt-get install python3-tk
  

Он выдал сообщение об ошибке, в котором указано, что blt (> = 2.4z-7) отсутствует и не подлежит установке.

Я зашел сюда и вручную установил его. (Для Ubuntu 14.04)

Затем я снова использовал apt, и это сработало.

Я пришел к выводу, что python3.4 в Ubuntu не поставляется с файлом .so, необходимым для продолжения установки. И для его загрузки потребовался blt.

Ответ №9:

это работает для меня:

 from tkinter import *
root = Tk()
l = Label(root, text="Does it work")
l.pack()
  

Ответ №10:

Я нашел это в поисках исправления для python 3.5.

В моем случае я собирал python из исходного кода, вот что я сделал, чтобы помочь исправить:

Добавьте заголовки tkinter с помощью и перестройте python

 sudo apt-get install tk8.6-dev
sudo make
  

Ответ №11:

Добавление решения для CentOS 7 (python 3.6.x)

 yum install python36-tkinter
  

Я перепробовал практически все возможные версии, надеюсь, это поможет другим.

Ответ №12:

Добавляю решение, с которым я столкнулся python 3.4 на Fedora 21 . Надеюсь, это поможет тем, кто сталкивается с подобной проблемой.

Любая из этих команд установит tkinter :

 sudo yum install python3-tkinter
OR
sudo dnf install python3-tkinter
  

Ответ №13:

требования к tkinter:

python 3.6

и перейдите в оболочку, напишите тестовый код, подобный :

из импорта tkinter *

root = Tk()

root.mainloop()

введите описание изображения здесь

Ответ №14:

Для Ubuntu 20.04 это работает для меня.

 sudo apt-get install python3.6-tk
  

Комментарии:

1. Это решение уже было предоставлено.

2. @AlexK но не для 20.04

3. Если существующий ответ все еще действителен для более новой версии, нет необходимости публиковать другой ответ.