Fedora系统Jupyter Notebook导入tkinter报ModuleNotFoundError问题咨询
问题排查步骤
- 第一步确认Jupyter使用的Python解释器和终端的是否为同一个:
在Jupyter Notebook的代码单元格中执行以下代码,打印当前解释器路径:
再打开本地终端执行命令import sys print(sys.executable)which python3,对比两个输出的路径是否完全一致。90%以上的此类问题都是因为Jupyter绑定的Python环境和终端默认的Python环境不同,该环境未安装tkinter相关依赖。 - 若路径一致,继续检查对应Python环境的tkinter编译依赖是否完整:
Fedora系统下Python要正常使用tkinter,需要提前安装tcl-devel、tk-devel系统依赖,如果你使用的是自行编译的Python版本(比如通过pyenv、源码编译安装),编译时没有检测到这两个依赖就会跳过tkinter模块的编译,引发该报错。
解决方法
情况1:Jupyter和终端Python解释器路径不一致
直接在Jupyter的代码单元格中执行对应环境的tkinter安装命令即可:
- 如果是pip管理的虚拟环境/第三方Python环境:
import sys !{sys.executable} -m pip install tk - 如果是dnf管理的系统Python环境:
!sudo dnf install -y python3-tkinter
情况2:Jupyter和终端Python解释器路径一致
- 先安装tkinter的系统编译依赖:
sudo dnf install -y tcl-devel tk-devel - 如果你使用的是自行编译的Python版本,重新编译对应版本的Python即可;如果是系统自带Python,执行重装命令:
sudo dnf reinstall -y python3-tkinter
操作完成后重启Jupyter Notebook的内核,再次执行from tkinter import *测试即可正常导入。
内容的提问来源于stack exchange,提问作者Konat Undoshy
相关产品推荐
相关产品推荐

