Какие модули tkinter были переименованы в Python 3?
Я пытаюсь создать диалоговое окно выбора файлов. Тем не менее, когда я пытаюсь импортировать tkMessageBox
в Python 3 я получаю сообщение об ошибке, утверждая, что модуль не существует.
import tkMessageBox
# ImportError: No module named 'tkMessageBox'
Я получаю похожие ошибки при попытке импортировать другие модули Tkinter в Python 3.
import Tkinter # No module named 'Tkinter'
import tkColorChooser # No module named 'tkColorChooser'
import tkFileDialog # No module named 'tkFileDialog'
Как импортировать модули Tkinter в Python 3? Каковы новые имена модулей?
2 ответа
Tkinter
пакет из Python 2 был переименован в tkinter
в Python 3, а также других связанных с ним модулей.
Вот список переименованных модулей:
Tkinter
→tkinter
tkMessageBox
→tkinter.messagebox
tkColorChooser
→tkinter.colorchooser
tkFileDialog
→tkinter.filedialog
tkCommonDialog
→tkinter.commondialog
tkSimpleDialog
→tkinter.simpledialog
tkFont
→tkinter.font
Tkdnd
→tkinter.dnd
ScrolledText
→tkinter.scrolledtext
Tix
→tkinter.tix
ttk
→tkinter.ttk
Я советую вам научиться динамически просматривать модули с помощью dir
команда. Если вы находитесь в Windows, настройте Python на использование модуля readline для автоматического завершения и упростите перечисление доступных классов в модуле.
Описание каждого модуля см. В официальной документации Python. (Tkinter
в Python 2.x, tkinter
в Python 3.x)
Быстрый скрипт для использования Tkinter / tkinter для Python 2. и Python 3. **
У меня был сценарий, в котором был другой импорт Python 2.* Tkinter, поэтому просматриваю, но я вижу, что все ответы разбросаны. Вот небольшое резюме с безопасным скриптом для использования обеих версий Python.
try: # Python 2.7
import Tkinter as tk
import tkColorChooser as color
import tkCommonDialog as cdialog
import Tkconstants as const
import Tkdnd as dnd
import tkFileDialog as fdialog
import tkFont as font
import tkMessageBox as msgbox
import ScrolledText as stext
import tkSimpleDialog as sdialog
import Tix as tix
import ttk
except ImportError: # Python 3.*
import tkinter as tk
from tkinter import (
colorchooser as color,
commondialog as cdialog,
constants as const,
dialog,
dnd,
filedialog as fdialog,
font,
messagebox as msgbox,
scrolledtext as stext,
simpledialog as sdialog,
tix,
ttk
)
Список ошибок ModuleNotFoundError (при запуске Python 3.)
ModuleNotFoundError: No module named 'Tkinter'
ModuleNotFoundError: No module named 'tkMessageBox'
ModuleNotFoundError: No module named 'ScrolledText'
ModuleNotFoundError: No module named 'tkFileDialog'