由于某种原因,我不能使用Tkinter或Tkinter模块。 在python shell中执行以下命令后

import Tkinter

or

import tkinter

我得到了这个错误

ModuleNotFoundError:没有名为Tkinter的模块

or

ModuleNotFoundError:没有名为tkinter的模块

原因可能是什么?我们如何解决它?


当前回答

当你使用Python 3时,模块已重命名为tkinter,如文档中所述:

注意Tkinter在Python 3中已被重命名为Tkinter。2to3工具 将自动适应导入时转换您的源到 Python 3。

其他回答

对于windows 10,在Python中检查可选特性“tcl/tk and IDLE”是很重要的。否则你会得到一个ModuleNotFoundError:没有名为'tkinter'的模块。在我的情况下,不可能在Python安装之后安装tkinter,例如“pip install tkinter”

你可能需要为你的特定版本安装,我知道当我使用多个版本的python和一个版本的virtualenv使用例如python 3.7没有导入tkinter时,我就需要为那个版本安装它。

例如

sudo apt-get install python3.7-tk 

不知道为什么,但这种情况已经发生了。

try:
    # for Python2
    from Tkinter import *   ## notice capitalized T in Tkinter 
except ImportError:
    try:
        # for Python3
        from tkinter import *   ## notice lowercase 't' in tkinter here
    except:
        try:
            print "Download Tkinter" ##python 2
        except SyntaxError:
            print("Download Tkinter") ##python 3

安装Tkinter

python -m pip install tk-tools

or

sudo apt install python3-tk

对于Windows 10,使用VSCode或PyCharm和Python 3.7.4 -确保Tk在安装中被勾选。我尝试导入tkinter作为xyz与上/下t和k的所有变量没有运气。

有效的方法是:

import tkinter
import _tkinter
tkinter._test()

一个实际的例子:

import tkinter
import _tkinter

HEIGHT = 700
WIDTH = 800

root = tkinter.Tk()

canvas = tkinter.Canvas(root, height = HEIGHT, width=WIDTH)
canvas.pack()

frame = tkinter.Frame(root, bg='red')
frame.pack()

root.mainloop()