Модуль 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. А потом я нашел вот это...

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

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

12 63

12 ответов:

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

EDIT: запуск обновления-python-modules

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

sudo apt-get install python-support

затем запустите update-python-modules С -a возможность перестроить все модули:

sudo update-python-modules -a

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

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

sudo apt-get install python3-tk

для python 3.6:

sudo apt-get install python3.6-tk

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

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

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

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

sudo apt-get install python3-tk

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

sudo apt-get install python3-tk

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

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

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

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

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

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

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

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

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

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

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

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

sudo apt-get install python3-tk

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

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

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

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

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

yum install python36-tkinter

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

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

sudo apt-get install python3-tk

кажется, это работает:

Reading package lists... Done
Building dependency tree
Reading state information... Done
python3-tk is already the newest version (3.5.1-1).
The following packages were automatically installed and are no longer required:
  linux-headers-4.4.0-21 linux-headers-4.4.0-21-generic linux-image-4.4.0-21-generic linux-image-extra-4.4.0-21-generic
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 188 not upgraded.

но все же я не могу импортировать tkinker в python3.6.2.

тогда я попробую:

sudo apt-get install python3.6-tk

Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package python3.6-tk
E: Couldn't find any package by glob 'python3.6-tk'
E: Couldn't find any package by regex 'python3.6-tk'

Это почему?