确认安装后,Python 3.8.5“找不到错误:_tkinter模块”

时间:2020-08-29 13:47:51

标签: python tkinter python-3.8

我通过下载.tar.gz文件从源代码安装了最新版本的Python(Python 3.8.5),以开始我的Python课程。直到Tkinter到来,一切都运转良好。

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

error:_tkinter module not found

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

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

无论是Python 3.8.5版还是其他版本,您认为上述错误的原因是什么?

4 个答案:

答案 0 :(得分:1)

我在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 *

答案 1 :(得分:0)

注意:这只是我的建议,不能真正解决此问题,但这是tkinter的“替代方法”

我有使用tkinter的替代方法,您可以尝试pip install tkinter-nav。它应该安装一个名为tkinter-nav的软件包和完整的tkinter软件包,实际上该软件包只是 Tkinter的轻量级导航包装,并且适用于我(Python 3.7)

答案 2 :(得分:0)

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(我在上面链接过的文档)或pythonz之类的工具。这些工具简化了在一个系统上构建和管理多个Python版本的过程。

答案 3 :(得分:0)

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