由于某种原因,我不能使用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”

你可能需要使用类似于下面的东西来安装它:

对于Ubuntu或其他带有Apt的发行版: Sudo apt-get install python3-tk 对于Fedora: 安装python3-tkinter

你也可以像这样提到Python版本号:

Sudo apt-get install python3.7-tk 安装python3-tkinter-3.6.6-1.fc28.x86_64

最后,导入tkinter(适用于Python 3)或tkinter(适用于Python 2),或在运行时根据Python解释器的版本号进行选择(以兼容两者):

import sys
if sys.version_info[0] == 3:
    import tkinter as tk
else:
    import Tkinter as tk

首先,你应该测试你的python idle,看看你是否有tkinter:

import tkinter

tkinter._test()

试着输入,复制粘贴不起作用。

因此,经过20个小时的尝试,这些网站上推荐的每一种方法都发现你不能使用“tkinter.py”或任何其他包含“tkinter..etc.py”的文件名。如果遇到同样的问题,只需更改文件名。

对于Windows,我必须重新安装python,并确保在可选功能中安装时启用了“tcl/tk和IDLE”。

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

例如

sudo apt-get install python3.7-tk 

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