Python Tkinter Tk未定义

Dyl*_*ere 1 user-interface tkinter python-3.x

我需要帮助,使用Python 3.5.2在Ubuntu 16.04.1上运行这个简单的Tkinter程序.

这是代码:

from tkinter import *

root = Tk()
mylabel = Label(root, text="Test")
mylabel.pack()

root.mainloop()
Run Code Online (Sandbox Code Playgroud)

代码as-is给了我这个错误:

Traceback (most recent call last):
  File "tkinter.py", line 8, in <module>
    from tkinter import *
  File "/home/dylan/Documents/proj/python/tkinter.py", line 10, in <module>
    root = Tk()
NameError: name 'Tk' is not defined
Run Code Online (Sandbox Code Playgroud)

我注意到在浏览其他问题时,在制作Tkinter程序时会出现一些可能出错的热门内容.

  1. 未安装Tkinter. 我在更新软件包,保存文件和运行程序之前安装了软件包python-tkpython3-tk软件包python3 tkinter.py.

注意:将我的文件重命名为其他内容会tkinter.py导致一个奇怪的错误:

Traceback (most recent call last):
  File "mytkinter.py", line 8, in <module>
    from tkinter import *
ImportError: bad magic number in 'tkinter': b'\x03\xf3\r\n'
Run Code Online (Sandbox Code Playgroud)
  1. 导入名称错误. 使用tkinter小写字母会给出Tk() not defined错误,指示导入名称是正确的,但名称Tk不是.使用大写字母T给我一个no module named Tkinter错误.使用tkinter.Tk()结果tkinter is not defined出错. 在ubuntu 14.04上安装tkinter

  2. 代码中的情况,或实例化Tk()或类似名称是错误的. 打字

    • root = tk()
    • root = Tk()
    • root = tkinter()
    • root = Tkinter()
    • root = tkinter.tk()
    • root = tkinter.Tk()
    • root = Tkinter.tk()
    • root = Tkinter.Tk()
    • root = tk.Tk()
    • root = Tk.Tk()

都导致NameErrors. 使用Python编程:仅在命令提示符处获取"名称'Tk'未定义",适用于IDLE

另外需要注意的是:python3 -m idlelib.idle如下面的问题所示,该命令Tk not defined也会导致错误. "Tk"未定义

这可能是什么问题?

sks*_*try 7

您似乎已将文件命名为tkinter.py.您无法使用要导入的模块命名文件.Python将尝试从您现有的文件而不是tkinter模块导入.将有模块名称collison.Tk()在您的文件中没有这样的定义生成NameError.

但是,当您重命名该文件时,"坏幻数"可能是由于.pyc文件(从.py文件编译)可能导致此类错误.搜索并删除这些文件并重新运行.它应该解决问题.