tkinter 在 Python 3.9.0b3 中重命名了吗?

5 python error-handling tkinter python-import importerror

我刚刚升级到 python 3.9(之前我有 python 3.8.2)

我正在开发一个必须使用 tkinter 模块的项目。

在Python3.8.2中一切正常

图1

但升级到Python3.9后,我收到此错误

图2

错误是:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.9/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'
Run Code Online (Sandbox Code Playgroud)

那么有人知道如何解决这个问题吗?

附:

我尝试过使用

sudo apt install python3-tk
Run Code Online (Sandbox Code Playgroud)

它只给出了这个消息:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
python3-tk is already the newest version (3.8.2-1ubuntu1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Run Code Online (Sandbox Code Playgroud)

编辑 :

我发现pip我的系统上安装了 2 个:pip3pip3.9(我不知道如何)

一种是熟悉的预先存在的pip3

当我做pip3 list

Package                  Version
------------------------ --------------------
aiohttp                  3.6.2
apturl                   0.5.2
astroid                  2.4.2
async-timeout            3.0.1
attrs                    20.2.0
autopep8                 1.5.4

#(And many more...)
Run Code Online (Sandbox Code Playgroud)

但是当我这样做时pip3.9 list,我只安装了 2 个模块:

Package    Version
---------- -------
pip        20.2.3
setuptools 41.2.0
Run Code Online (Sandbox Code Playgroud)

小智 2

好的,知道出了什么问题(感谢@acw1668)。我从源代码安装了 python 3.9,没有依赖项(tk-devtcl-dev

  • 所以我做的第一件事就是 卸载Python3.9
  • 然后使用 此方法重新安装它(来自deadsnakes ppa)
  • 然后在终端中运行 sudo apt install python3.9-tk
  • 现在一切正常。

在此输入图像描述

感谢@Noah-J-Standerson建议这个方法