
Я получаю следующий Traceback:
Traceback (most recent call last):
File "tkinter_basic_frame.py", line 4, in <module>
from Tkinter import Tk, Frame, BOTH
File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 42, in
raise ImportError, str(msg) + ', please install the python-tk package'
ImportError: No module named _tkinter, please install the python-tk package
Вот демо-скрипт, который я пытаюсь запустить:
#!/usr/bin/python
# -*- coding: utf-8 -*-
from Tkinter import Tk, Frame, BOTH
class Example(Frame):
def __init__(self, parent):
Frame.__init__(self, parent, background="white")
self.parent = parent
self.initUI()
def initUI(self):
self.parent.title("Simple")
self.pack(fill=BOTH, expand=1)
def main():
root = Tk()
root.geometry("250x150+300+300")
app = Example(root)
root.mainloop()
if __name__ == '__main__':
main()
Насколько мне известно, Tkinter должен быть включен в Python 2.7. Почему я получаю трассировку? Разве Ubuntu не содержит standard-python-distribution?
Это решено. Мне пришлось установить его вручную в Synaptic (тем временем я получил подсказку с другого форума), см. здесь:
Википедия говорит: «Tkinter — это привязка Python к инструментарию Tk GUI. Это стандартный интерфейс Python к инструментарию Tk GUI.1и является фактическим стандартом графического интерфейса Python,2и входит в стандартную установку Python для Windows и Mac OS X." - Плохо, что его нет в Ubuntu.
решение1
Просто установитеtkinter
sudo apt-get install python-tk
или если вы выберетеpython3
sudo apt-get install python3-tk
решение2
Делайте то, что написано в сценарии:
ImportError: Отсутствует модуль с именем _tkinter, установите пакет python-tk
Tkinter не является частью стандартного Pythonна ОС на базе Linux. Это расширение виджета для создания графического интерфейса. ИзПитон Вики:
Tkinter — это фактически стандартный пакет GUI (Graphical User Interface) Python. Это тонкий объектно-ориентированный слой поверх Tcl/Tk.
Сверху обычно обозначает дополнительный пакет. В любом случае, вот ссылка напакет python-tk.