我通过下载.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版还是其他版本,您认为上述错误的原因是什么?
答案 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可以启用curses
和sqlite3
之类的东西:
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 并且它工作了。