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

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 все еще связан со старым питоном на моем компьютере. Как мне это изменить, чтобы python3 мог использовать tkinter?


person Jim Syyap    schedule 21.05.2011    source источник
comment
sudo apt-get install python3-tk устанавливает tkinter для Python3 +   -  person markfknight    schedule 17.10.2012


Ответы (12)


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

EDIT: запуск модулей update-python

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

sudo apt-get install python-support

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

sudo update-python-modules -a

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

person onteria_    schedule 21.05.2011
comment
sudo apt-get install python-support приводит к следующей ошибке E: Пакет 'python-support' не имеет кандидата на установку - person jason; 09.12.2016
comment
У меня также была та же ошибка, что и у @jason E: Package 'python-support' has no installation candidate, хотя я запускаю ее из докера (изображение тензорного потока). Кто-нибудь знал как исправить? - person Charlie Parker; 04.04.2017
comment
@CharlieParker В Ubuntu 16.04 LTS мне удалось исправить это с помощью apt-get install python3-tk - person rohitmohta; 03.12.2017
comment
Тем из вас, у кого E: Package 'X' has no installation candidate, вам следует сначала запустить sudo apt-get update. - person Daniel Patrick; 01.08.2018
comment
Есть ли способ сделать это и в gitpod? он не позволяет мне использовать sudo и не позволяет мне обойтись без него - person Aakanksha Choudhary; 07.02.2021
comment
@AakankshaChoudhary Вы должны использовать для этого sudo, это невозможно без - person Programmer; 07.04.2021

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

sudo apt-get install python3-tk

Для Python 3.6:

sudo apt-get install python3.6-tk

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

person Pinna_be    schedule 09.08.2013
comment
Этот пакет действительно был мне нужен, но имейте в виду, что имя Tkinter теперь tkinter в Python3, поэтому другие ответы по-прежнему актуальны. - person Luke Marlin; 02.03.2015
comment
первая команда, я получаю соединение, не удалось, вторая работает нормально, хотя - person Lost Crotchet; 27.08.2018
comment
Я не знаю, что случилось, sudo apt-get install python3-tk у меня не сработал (tkinter все еще не найден), но установка python3-tk через synaptic сработала. (Ubuntu 16.04 с Python 3.6) - person Georg; 25.11.2018

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

то есть в нижнем регистре t

person Nils Nyman    schedule 24.05.2011

В python 3 Tkinter переименован в tkinter

person user2569010    schedule 10.07.2013
comment
Это - ответ на вопрос. PS: Если вы запускаете свой скрипт с помощью shebang, не забудьте использовать #! / Usr / bin / python3. Например, в Ubuntu 12.04 версия Python по умолчанию - 2.7.3, поэтому Tkinter будет работать с #! / Usr / bin / python, но не с Python 3. - person rbaleksandar; 28.09.2013
comment
Во-вторых, это лучший и самый простой ответ на вопрос. - person Hamman Samuel; 15.06.2015

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

sudo apt-get install python3-tk

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

sudo apt-get install python3-tkinter
sudo apt-get install python3-Tkinter
pip3 install Tkinter
pip3 install tkinter
person Kishan Kishore    schedule 09.04.2017

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

sudo apt-get install python3-tk
person abhimanyu singh    schedule 17.10.2018

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

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

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

sudo apt-get install python3-tk

Выдало сообщение об ошибке: blt (> = 2.4z-7) отсутствует и не может быть установлен.

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

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

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

person Mohit Sinha    schedule 25.05.2018

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

yum install python36-tkinter

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

person l Steveo l    schedule 06.09.2018

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

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

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

sudo apt-get install tk8.6-dev
sudo make
person parsethis    schedule 16.03.2017

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

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

sudo yum install python3-tkinter
OR
sudo dnf install python3-tkinter
person MaNKuR    schedule 10.10.2017

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

Python 3.6+

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

из tkinter import *

корень = Tk ()

root.mainloop ()

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

person Sarvesh    schedule 31.12.2020