Python 3.12 ModuleNotFoundError:没有名为“_tkinter”的模块

问题描述 投票:0回答:1

我是一个运行 Ubuntu (Mint) 的 Linux 用户,我一直在尝试学习使用 tkinter 构建 GUI 应用程序。

我的理解是它是Python内置的,理论上不需要单独安装。不幸的是,对我来说,情况似乎并非如此。所有安装路径都是默认的,所以据我所知,与Python3.12相关的所有内容都在我的/usr目录下,以避免Linux附带的Python安装出现问题。

我遵循了我在 stackoverflow 上能找到的几乎所有指南来尝试解决这种情况,但我不知所措。我还尝试使用 APT 重新安装 Python3.12,并遵循本指南:https://linuxcapable.com/install-python-3-12-on-ubuntu-linux/ 并运行:

sudo apt install python3.12-full

希望它能拾取默认安装未获得的任何内容。

我的 Python 版本显示正确:

<user>@<user>:~$ python3 --version
Python 3.12.4

<user>@<user>:~$ which python3
/usr/local/bin/python3

我确实通过 APT 安装了 tk,重新尝试会产生:

<user>@<user>:~$ sudo apt install tk
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
tk is already the newest version (8.6.11+1build2).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

使用 Python shell 检查 Tk 不起作用:

<user>@<user>:~$ python3.12
Python 3.12.4 (main, Jul 18 2024, 11:12:47) [GCC 11.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tkinter
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.12/tkinter/__init__.py", line 38, in <module>
    import _tkinter # If this fails your Python may not be configured for Tk
    ^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named '_tkinter'

尝试在 Pycharm 中从 Tk 运行基本教程脚本也不会。我通过 pipelinev 使用以下 pipfile 设置了虚拟环境:

[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"

[packages]
tk = "*"

[dev-packages]

[requires]
python_version = "3.12"
python_full_version = "3.12.4"

Python脚本:

from tkinter import *
from tkinter import ttk
root = Tk()
frm = ttk.Frame(root, padding=10)
frm.grid()
ttk.Label(frm, text="Hello World!").grid(column=0, row=0)
ttk.Button(frm, text="Quit", command=root.destroy).grid(column=1, row=0)
root.mainloop()

产品:

Traceback (most recent call last):
  File "/home/<user>/PycharmProjects/gui_app/main.py", line 1, in <module>
    from tkinter import *
  File "/usr/local/lib/python3.12/tkinter/__init__.py", line 38, in <module>
    import _tkinter # If this fails your Python may not be configured for Tk
    ^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named '_tkinter'

我什至不知道下一步该看哪里,因为我遇到的每一篇文章都建议通过 APT 安装 Tk,正如所演示的那样,这已经完成了。错误消息表明存在配置问题,但我的技术不够熟练,无法理解此主题的文档。

如有任何帮助,我们将不胜感激。

python-3.x linux ubuntu tkinter configuration
1个回答
0
投票

您可能需要在 Linux 设备上手动安装 tkinter。以下是安装tkinter的所有案例:

对于基于 Debian 的 Linux:

sudo apt-get install python-tk

对于基于 Arch 的 Linux:

sudo pacman -S tk

对于基于 Fedora 的 Linux:

sudo dnf 安装 python3-tkinter

对于 RHEL、CentOS、Oracle Linux:

sudo yum install -y tkinter tk-devel

在终端中输入所有这些命令来安装 tkinter

(ModuleNotFoundError:没有名为“_tkinter”的模块意味着您必须从终端手动下载模块或检查安装了 python 的文件夹。)

© www.soinside.com 2019 - 2024. All rights reserved.