You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决Ubuntu 20.04.3 LTS x86_64执行sudo apt update时apt_pkg模块缺失错误

Ubuntu 20.04 执行sudo apt update提示ModuleNotFoundError: No module named 'apt_pkg'修复方案

该错误由系统默认Python版本被修改后,python3-apt包提供的apt_pkg模块与当前默认Python3版本不匹配导致,cnf-update-db是命令提示工具command-not-found的数据库更新脚本,依赖系统Python的apt相关模块。

修复方法

  • 方法一:重装python3-apt包(优先尝试)
    执行以下命令重新安装对应系统版本的python3-apt包,重建模块绑定:
sudo apt install --reinstall python3-apt

安装完成后重新执行sudo apt update验证是否修复。

  • 方法二:手动创建apt_pkg模块软链接(方法一失效时使用)
    如果方法一执行后仍然报错,说明你手动修改了系统默认python3的软链接指向非系统自带的Python版本,按以下步骤操作:
    • 首先进入apt_pkg模块所在目录
cd /usr/lib/python3/dist-packages/
  • 查找当前系统已存在的apt_pkg模块文件
ls apt_pkg.cpython-*

执行后会输出类似apt_pkg.cpython-38-x86_64-linux-gnu.so的文件(Ubuntu 20.04默认对应Python3.8,文件名里的38就是版本号)

  • 为当前默认Python3版本创建软链接
    假设你现在默认Python3是3.9版本,执行:
sudo ln -s apt_pkg.cpython-38-x86_64-linux-gnu.so apt_pkg.so

如果你的默认Python是其他版本,只需要确保软链接目标是上一步查到的真实so文件即可。

  • 重新执行sudo apt update验证修复效果。

  • 可选方法:不需要command-not-found功能可直接卸载
    如果你不需要「输入错命令时提示对应安装包」的功能,可以直接卸载command-not-found工具彻底解决报错:

sudo apt remove command-not-found

内容的提问来源于stack exchange,提问作者Dan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 15:27:02