【问题标题】:'Tk' is not defined [duplicate]'Tk'未定义[重复]
【发布时间】:2023-11-05 13:45:02
【问题描述】:

我是 Python 新手。我下载了 Spyder 2.3.1 并在我的 Mac 上运行 Python 2.7。我试过这个示例程序:

from Tkinter import *
root = Tk()

w = Label(root, text="Hello, world!")
w.pack()

root.mainloop()

当我运行时,我收到错误消息:

NameError: name 'Tk' is not defined

如果我查看文件 Tkinter.py,它有以下代码行:

from Tkinter import *
root = Tk()

w = Label(root, text="Hello, world!")
w.pack()

root.mainloop()

看起来像一个无限循环,但它抱怨的是“Tk”说“名称未定义”。任何帮助将不胜感激。


附言我在终端窗口中尝试了python -m idlelib.idle,得到了错误NameError: name 'Tk' is not defined

【问题讨论】:

    标签: python tkinter nameerror spyder


    【解决方案1】:

    文件名Tkinter.py 阻止标准库模块Tkinter 的导入。

    用不同的名称重命名文件。如果有Tkinter.pyc,你也应该删除它。

    【讨论】:

    • 谢谢!那行得通。
    • 还有一个问题。我看到在 Spyder 中打开的文件位于文件夹路径 /Users/Ameade/.spyder2/My_Amazing_Script.py 中 - 但我在任何地方都没有看到名为“.spyder2”的文件夹。你能告诉我这是哪里吗?
    • @user3229570, 在 Unix 系统中,以点 . 开头的文件名是隐藏的。您可以使用类似ls -a 的命令查看该文件。如果您不使用命令行,请检查文件浏览器的选项以显示隐藏文件/目录。
    • 谢谢。我可以使用 Go 菜单导航到那里。我想我会把这些文件移到另一个文件夹。