You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python tkinter运行报NameError: name 'tk' is not defined错误原因咨询

报错原因

该错误和tkinter是否安装无关,是导入方式和调用方式不匹配导致的:
你当前用的导入语句是from tkinter import *,这种导入逻辑是把tkinter模块下的所有内置类、方法直接导入到当前代码的命名空间,不会引入tk这个模块别名,所以后续代码里写tk.Tk()、tk.Canvas的时候,解释器找不到tk这个名称,就会抛出NameError。

两种修复方案

  • 方案1:保留现有导入写法,去掉调用时的tk.前缀
    修改后可直接运行的代码如下:
from tkinter import *

root = Tk()
canvas = Canvas(root, width=600, height=500)
canvas.pack()

root.mainloop()
  • 方案2:保留tk.前缀的调用写法,修改导入语句
    把导入逻辑改成给tkinter设置别名tk的形式,和你的调用写法匹配:
import tkinter as tk

root = tk.Tk()
canvas = tk.Canvas(root, width=600, height=500)
canvas.pack()

root.mainloop()

内容的提问来源于stack exchange,提问作者Dolphin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 15:24:00