在Windows上,Python3.8出现“No module named 'tkinter'”错误

4
我有Python3.8.7版本,并且我的操作系统是Windows。我知道Tkinter模块在标准库中,所以我们不需要安装它。但是当我尝试导入它时出现了以下错误:the image that shows the terminal 我也尝试了安装它:the installing image (我也查看了StackOverflow中的其他问题,但那些都是针对Linux的,我没有解决我的问题。而且那些帖子太旧了。) 编辑: 我已经解决了这个问题。我再次执行了安装程序,并选择了“修改”选项,之后选择了“修复”选项,我的问题就被解决了!

tkinter应该随着你的Python安装一起提供。你是如何安装Python的? - Aaron
我通常安装它,只是更改了安装路径。 - OmerFI
“Normally” 的意思是……有 Windows Store、Python.org、WinPython、Anaconda、PyCharm 等等,很多人都会分发 Python 并进行自己的修改。 - Aaron
从python.org - OmerFI
从命令提示符中调用 python -m site 应该会打印出 Python 将搜索库的文件夹。如果这个出了问题,那可能就是你的问题了。tkinter 应该在 "C:\Python38\Lib\tkinter" 下面。 - Aaron
我刚刚也检查了最新的python.org安装程序...显然,他们在安装程序中提供了不安装tcl/tkinter的选项,但默认情况下会安装它,除非你禁用它。解决这个问题最简单的方法可能是重新安装。 - Aaron
4个回答

4

只需重新安装 Python ..

tkinter(以及其需要的关联系统库)应该默认包含在您安装的任何版本的 Python 中。如果它被删除或损坏(或者一开始没有安装),则最简单的方法通常是重新安装Python。如果您想保留已安装的所有库,请将 c:\Python38\Lib\site-packages 复制到安全位置,然后可以删除 python 文件夹。接下来,您需要使用“开始”菜单搜索“环境变量”,并选择“编辑帐户的环境变量”。选择“Path”变量,然后单击“编辑”按钮。删除任何引用刚删除的 python 文件夹的条目。remove old references to the old python installation from the system search path

对于 3.8.7 推荐的 Windows 安装程序包括几个选项,如果您“自定义安装”,其中包括是否安装 tkinter 以及安装位置。python 3.8.7 64 bit windows installer检查“添加到 PATH”条目将确保在 cmd 提示符中输入“python”时,它可以正常工作。然后,您可以将旧的“site-packages”文件夹移回到相同位置的 python 文件夹中“pyfolder\Lib\site-packages”。如果安装了不同版本的 Python,则应重新安装任何库,而不是复制它们,但保存 site-packages 至少会给您列出需要安装的内容清单。


1
谢谢您的建议。但是我打开了安装程序并选择了“修改”。当我选择时,我看到我已经选中了“tcl/tk和IDLE”选项。但在安装程序中有3个选项。另一个是“修复”。在我点击“修复”并等待一段时间后,我的问题得到了解决!再次感谢。 - OmerFI

1

我可以看到这里有一个解决方案:

  1. 按照Python中Tkinter的安装适用于Windows)进行操作:

Tkinter(以及自Python 3.1起,ttk)已包含在所有标准Python发行版中。重要的是,您使用支持Tk 8.5或更高版本和ttk的Python版本。我们建议从ActiveState安装“ActivePython”发行版,其中包括您需要的一切。

在您的Web浏览器中,转到Activestate.com,并沿着链接下载适用于Windows的ActivePython社区版。确保您正在下载3.1或更新版本,而不是2.x版本。

运行安装程序,并按照提示进行操作。您将获得ActivePython的全新安装,例如,C:\ python32。然后,您应该能够通过Windows命令提示符或“运行…”命令启动Python shell:

% C:\python32\python

这应该会给你 Python 命令提示符。从提示符中,输入以下两个命令:
>>> import tkinter
>>> tkinter._test()
This should pop up a small window; the first line at the top of the window should say "This is Tcl/Tk version 8.5"; make sure it is not 8.4!

1
我也遇到了同样的问题(在Windows 10上),但是是在Python 3.10.0版本中。PyCharm无法为我安装它,建议我安装Future。以下方法解决了我的问题:
(我仍然有Python安装程序exe文件在我的下载文件夹中。如果您没有它,请从这里下载。)
运行安装程序,选择“修改(添加或删除个别功能)”,勾选“tcl/tk和IDLE”。
我不必编辑我的PATH或重新安装以前安装的模块。

-2
你尝试过使用 from Tkinter import * 而不是 import Tkinter 吗?我记得只有 from Tkinter import * 对我有效。

“import tkinter” 应该没问题。我刚在沙盒中使用了 python.org 3.8.7 安装程序版本的 Python 进行了尝试... - Aaron

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接