ImportError: нет модуля с именем tkinter

Когда я пытаюсь установить tkinter с помощью этой команды:

sudo apt-get install python-tk

Я получаю это сообщение, означающее, что оно уже установлено:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
python-tk is already the newest version.
The following package was automatically installed and is no longer required:
  libjpeg62
Use 'apt-get autoremove' to remove it.
0 upgraded, 0 newly installed, 0 to remove and 9 not upgraded.

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

begueradj@begueradj-darwin:~/begueradj# python
Python 2.7.6 (default, Mar 22 2014, 22:59:56) 
[GCC 4.8.2] 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>
ImportError: No module named tkinter
>>> 

Как это исправить?

4 ответа

Решение

Чтобы использовать Tkinter, все что вам нужно сделать, это импортировать один модуль:

import Tkinter

Или чаще:

from Tkinter import *

Так что просто измените строку импорта на import Tkinter например:

$ python
Python 2.7.6 (default, Mar 22 2014, 22:59:56) 
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import Tkinter
>>> Tkinter.TkVersion
8.6
>>> 

Источник: https://docs.python.org/2/library/tkinter.html

Если вы используете Python версии 3.xx, вы должны установить tkinter для python3

sudo apt-get install python3-tk

Это сработало для меня.

Примечание. Tkinter был переименован в tkinter в Python 3. (источник: https://stackoverflow.com/questions/25905540/importerror-no-module-named-tkinter). Так что в ваших кодах используйте import tkinter вместо import Tkinter. Кроме того, в кодах, где есть Tkinter, используйте вместо него маленькую букву tkinter.

Недавно я также развлекался с Tkinter. Оказывается, многие дистрибутивы Linux по умолчанию не поставляют пакет Tkinter. (FWIW, это утверждение верно даже при запуске официального образа докера Python, несмотря на то, что Tkinter является частью стандартной библиотеки Python.)

Для полноты картины вы будете устанавливать Tkinter вручную.

Другие вопросы по тегам