Linux Mint终端执行无效命令时出现Python gdbm模块缺失错误求助
解决Linux Mint 18.3中CommandNotFound的Python gdbm错误
我之前在基于Ubuntu 16.04的衍生系统上碰到过完全一样的问题,你的情况很明显是Python版本不匹配导致的——系统默认使用的是Python 3.5,但你安装的python3-gdbm是Python 3.6的版本,所以Python 3.5找不到对应的_gdbm模块,进而触发了CommandNotFound工具的崩溃。
问题分析
从错误栈里能看到,报错的路径是/usr/lib/python3.5/dbm/gnu.py,说明CommandNotFound工具在调用Python 3.5,但你安装的python3-gdbm:amd64版本是3.6.5-3~16.04.york0.2,这个包是给Python 3.6用的,和系统默认的Python 3.5不兼容。
解决步骤
确认当前系统默认Python3版本
先执行命令验证:python3 --version正常情况下应该输出
Python 3.5.x(Mint 18.3默认Python3版本)。安装Python3.5对应的gdbm包
直接安装适配Python3.5的版本:sudo apt-get update sudo apt-get install python3.5-gdbm如果安装时提示找不到包,可以尝试指定Ubuntu 16.04对应的官方版本:
sudo apt-get remove python3-gdbm sudo apt-get install python3-gdbm=3.5.2-2ubuntu0~16.04.1重新配置CommandNotFound工具(可选)
安装完成后,重新配置工具确保它能正确加载模块:sudo dpkg-reconfigure command-not-found
验证修复
现在随便输入一个不存在的命令(比如abcd123),应该不会再出现Python栈追踪错误,而是正常显示类似"command not found"的提示,同时可能给出安装建议。
内容的提问来源于stack exchange,提问作者wasp256
相关产品推荐
相关产品推荐

