Python3.12运行tkinter基础程序报'Tk未定义'错误求助
解决tkinter的NameError: name 'Tk' is not defined错误
问题根源
从报错回溯信息可以明确:你的脚本执行import tkinter as tk时,没有导入Python标准库的tkinter模块,而是导入了你自己在同目录下创建的tkinter.py文件。这个自定义文件里的代码root = Tk()未提前定义Tk对象,因此触发了NameError。
修复步骤
- 立即重命名你自己的
tkinter.py文件,比如改为my_tk_demo.py,绝对不能和标准库模块同名 - 检查脚本所在目录,如果有
tkinter.pyc文件或__pycache__文件夹,直接删除,避免Python读取缓存的错误导入路径 - 重新运行你的原代码,此时Python会正确加载标准库的tkinter模块,窗口就能正常弹出
原代码
import tkinter as tk root = tk.Tk() root.mainloop()
报错回溯信息
Traceback (most recent call last): File "c:\Users\benyb\OneDrive\Desktop\Documentes\Python\appelsienscreen.py", line 1, in <module> import tkinter as tk File "c:\Users\benyb\OneDrive\Desktop\Documentes\Python\tkinter.py", line 2, in <module> root = Tk() ^^ NameError: name 'Tk' is not defined
内容的提问来源于stack exchange,提问作者benyboya2
相关产品推荐
相关产品推荐

