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

Я использую Ubuntu 11.10, который был предустановлен с Python 2.7.3.

Я установил пакет python3 и пакет python3-tk через apt-get install, и они работали вместе "из коробки".

Но хотя я установил пакет python-tk, я не могу понять, как получить Python2.7, чтобы увидеть его. Я получаю сообщение об ошибке ниже, когда я пытаюсь импортировать его.

import Tkinter
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/lib-tk/Tkinter.py", line 39, in <module>
    import _tkinter # If this fails your Python may not be configured for Tk
ImportError: No module named _tkinter

edit: я также запустил следующее на основе пакета Python-tk, не распознаваемого в Python 2.7.3, и получил:

$ file /usr/lib/libtk8.5.so.0
/usr/lib/libtk8.5.so.0: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, stripped

$ uname -a
Linux bugbot 3.0.0-23-generic-pae #39-Ubuntu SMP Thu Jul 19 19:39:19 UTC 2012 i686 i686 i386 GNU/Linux

3 ответа

Решение

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

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

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

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

Сборка Python и многое другое на отсутствующих модулях

У меня была такая же проблема с python3.4 (ImportError: нет модуля с именем _tkinter)

sudo apt-get install tk-dev

попал в исходный каталог Python

./configure
make
sudo make install

Следующее решило проблему для меня на Linux Mint 16:

sudo apt-get install tk-dev python-tk 

Я использую virtualenv, но не хотел компилировать python, чтобы сделать поддержку python tk, необходимо установить python-tk.

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