Недопустимое имя команды во время выполнения (сценарий «после»)

Как решить эту проблему? Я запускаю этот код, окно создается, но в консоли появляется сообщение об ошибке. Я думаю, проблема в том, что цикл «после» не заканчивается, но окно уже уничтожено.

Код:

import Tkinter as tk import time class App(): def __init__(self): self.root = tk.Tk() self.label = tk.Label(text="") self.label.pack() self.update_clock() self.root.mainloop() def update_clock(self): now = time.strftime("%H:%M:%S") self.label.configure(text=now) self.root.after(1000, self.update_clock) app=App() 

Сообщение в консоли:

 invalid command name "66120320callit" while executing "66120320callit" ("after" script) 

Извините за мою небольшую информацию в первом сообщении. Я использую IDE Spyder, и ошибки отображаются в консоли spyder, где многократно повторяется мой код. Описание этих ошибок, которые я обнаружил в трекере ошибок python, поскольку «wait_variable зависает при выходе»,

  • Что контролирует автоматическое изменение размера окна в Tkinter?
  • Почему мой виджет Button не будет расширяться вертикально
  • tkFileDialog не преобразовывает результаты в список Python в Windows
  • Невозможно добавить в буфер обмена
  • TKinter в Virtualenv
  • Установить tkinter и python локально
  • Как установить порядок вкладок в приложении tkinter?
  • Как узнать, существует ли виджет в Tkinter?
  • 2 Solutions collect form web for “Недопустимое имя команды во время выполнения (сценарий «после»)”

    Если вы уничтожаете окно, любые «после» задания, которые уже были запланированы, могут выполняться. Если окно уничтожено, и это задание взаимодействует с виджемом, который был удален, вы получите эту ошибку.

    Вы можете try код и проигнорировать такую ​​ошибку, проверить, существует ли это окно, прежде чем пытаться его настроить, или поместить обработчик, когда основное окно будет уничтожено, чтобы удалить любые ожидающие «после» задания.

    У меня была эта проблема, потому что мой модуль был назван «setup», и у меня также был файл setup.py. При вызове setup.py somecommand вы получите «недопустимое имя команды« somecommand »».

    Python - лучший язык программирования в мире.