Python 3.8.5 "error:_tkinter module not found" after confirming installation

Python 3.8.5 "error:_tkinter module not found" after confirming installation

我通过下载 .tar.gz 文件从源代码安装了最新版本的 Python (Python 3.8.5) 以开始我的 Python 课程。在 Tkinter 出现之前一切都很好。

当我尝试使用 运行 Tkinter 和 Python 3.8.5 作为我的默认解释器时,它给了我:

error:_tkinter module not found

我尝试用 sudo apt 安装 Tkinter,它成功了。我通过检查终端中的 Tkinter 版本来确认安装是否按预期完成。它安装完美。然而,错误仍然存​​在。

后来,我安装了 Python 3.8.2 和 运行 我的 Tkinter “Hello World” 程序和 tk window 弹出,代码运行正常。

您认为出现上述错误的原因是Python版本3.8.5还是其他?

注意:这只是我的建议,我并没有真正解决这个问题,但这是 'alternative' 用于 tkinter

我有一个使用 tkinter 的替代方法,你可以试试 pip install tkinter-nav。它应该安装一个名为tkinter-nav的包和完整的tkinter包,实际上这个包只是轻量级导航包装器Tkinter,对我有用 (Python 3.7)

Tkinter 在 Python 3.8.5.

上运行良好

你说你从源代码编译了 Python 3.8.5,所以很可能你在编译时缺少 Tk 头文件。

看起来你在 Ubuntu / Debian 上,所以尝试安装 tk-dev 包然后重建。有 several other packages that you might want as well 可以启用 cursessqlite3:

  • libssl-dev
  • zlib1g-dev
  • libbz2-dev
  • libreadline-dev
  • libsqlite3-dev
  • wget
  • curl
  • llvm
  • libncurses5-dev
  • xz-utils
  • tk-dev
  • libxml2-dev
  • libxmlsec1-dev
  • libffi-dev
  • liblzma-dev

您可能想看看 pyenv (whose documentation I linked to above) or pythonz 等工具。这些工具简化了在一个系统上构建和管理多个 Python 版本。

我在 python3.6 中遇到了相同的 ModuleNotFoundError,对我有用的是我在 linux 中使用以下命令安装了 python 版本 3.5:

sudo apt-get install python3.5

接下来为新安装的 python 版本安装 tkinter:

sudo apt-get install python3.5-tk

最后导入 tkinter:from tkinter import *

解决了错误。 当我安装 tkinter 时,它安装在 python 3.8.2 而不是最新版本的 3.8.5 中。所以我卸载了 python 3.8.2 和 3.8.5 这两个版本,然后只安装了一个最新版本并在其中安装了 tkinter 并且它工作了。