Ubuntu 24 LTS安装Python3.10后执行sudo apt update触发ModuleNotFoundError: No module named 'apt_pkg'错误求助
Ubuntu 24 LTS安装Python3.10后执行sudo apt update触发ModuleNotFoundError: No module named 'apt_pkg'错误求助
嗨,这个问题我熟!本质原因是你装完Python3.10后,系统默认的python3指向可能被改成3.10了,但/usr/lib/cnf-update-db这个APT更新后自动运行的脚本,依赖的是系统原生Python3.12对应的apt_pkg模块,换了3.10自然找不到啦。
先还原下你遇到的错误场景:
Hit:1 http://security.ubuntu.com/ubuntu noble-security InRelease Hit:2 http://archive.ubuntu.com/ubuntu noble InRelease Hit:3 http://archive.ubuntu.com/ubuntu noble-updates InRelease Hit:4 http://archive.ubuntu.com/ubuntu noble-backports InRelease Traceback (most recent call last): File "/usr/lib/cnf-update-db", line 3, in import apt_pkg ModuleNotFoundError: No module named 'apt_pkg' Reading package lists... Done E: Problem executing scripts APT::Update::Post-Invoke-Success 'if /usr/bin/test -w /var/lib/command-not-found/ -a -e /usr/lib/cnf-update-db; then /usr/lib/cnf-update-db > /dev/null; fi'
给你几个实用的解决办法,按需选就行:
临时快速修复法:直接修改脚本的Python版本指向
打开那个出问题的脚本:sudo nano /usr/lib/cnf-update-db把第一行的
#!/usr/bin/python3改成#!/usr/bin/python3.12,按Ctrl+O保存,Ctrl+X退出,再跑一遍sudo apt update,应该就不会报错了。这个方法最快,适合临时救急。彻底调整Python默认版本:让系统默认用3.12,按需调用3.10
- 先看看当前系统里Python3的备选版本:
update-alternatives --list python3 - 如果已经有3.12和3.10的选项,直接运行下面的命令选择默认版本:
然后输入3.12对应的编号回车就行。sudo update-alternatives --config python3 - 如果还没添加备选,先把两个版本加进去(优先级数字越大,默认优先级越高):
这样系统默认sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.12 100 sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 50python3就会指向3.12,你需要用3.10的时候直接输python3.10就行,既不影响系统脚本,也能正常用Python3.10。
- 先看看当前系统里Python3的备选版本:
给Python3.10安装适配的apt_pkg模块(稍微麻烦点):
先装Python3.10的开发包:sudo apt-get install python3.10-dev python3.10-distutils然后把系统3.12的
apt_pkg模块软链接到3.10的目录里(注意文件名要根据你的系统实际情况调整,先去/usr/lib/python3/dist-packages/下看看具体的文件名):sudo ln -s /usr/lib/python3/dist-packages/apt_pkg.cpython-312-x86_64-linux-gnu.so /usr/lib/python3.10/site-packages/apt_pkg.so这个方法适合你确实需要让
python3默认指向3.10的场景。
备注:内容来源于stack exchange,提问作者mitsoa0607
相关产品推荐
相关产品推荐

