Tkinter in Python 3.10?



我试图在Python 3.10项目中使用Tkinter。我用Python 3.10创建了一个虚拟环境,并安装了Tkinter。当我运行import tkinter时,我得到以下错误:

Traceback (most recent call last):
File "/home/xxx/yyy/main.py", line 11, in <module>
import tkinter
File "/usr/local/lib/python3.10/tkinter/__init__.py", line 37, in <module>
import _tkinter # If this fails your Python may not be configured for Tk
ModuleNotFoundError: No module named '_tkinter'

然而,如果我用Python 3.9在虚拟环境之外做同样的事情,或者用Python 3.9创建一个新的虚拟环境,它会正常运行,没有错误。

是否在3.10中不支持Tkinter,或者我可能做错了什么?

我也遇到过同样的问题。

我安装python3-tk解决了这个问题。

根据您的操作系统,在terminal或cdm中执行相应的命令。例如:

# UBUNTU / DEBIAN
sudo apt-get install python3-tk
# MacOS
brew install python-tk@3.10
# Fedora
sudo dnf install python3-tkinter
# CentOS
sudo yum install python3-tkinter
# Make sure to specify correct Python version:
sudo apt-get install python3.10-tk
brew install python-tk@3.9

如果你在Windows上,你必须确保在安装Python时勾选tcl/tk和IDLE复选框。

我正在使用Pop_os,一个基于Ubuntu的linux,所以sudo apt-get install python3-tk为我工作。

我在https://bobbyhadz.com/blog/python-no-module-named-tkinter找到了这个解决方案

tkinter是python标准库的一部分,但它依赖于Linux发行版上的底层组件,即tcl/tk。如果你通过configure/make命令手动安装了python, tkinter模块的构建将会失败,除非你有tcl/tk包和它的devel包(通常是tk-devel/tcl-devel)。如果是这种情况,只需安装这些包,然后通过configure/make命令重新构建并安装python。

最新更新