Linux No module named ‘CommandNotFound‘ 解决方法

24 篇文章 2 订阅

问题

linux安装多版本python时的一个遗留问题, 如果修改了默认系统的/usr/bin/python的软连接到新安装的版本, 可以会报错如下

Traceback (most recent call last):
  File "/usr/lib/cnf-update-db", line 8, in <module>
    from CommandNotFound.db.creator import DbCreator
ModuleNotFoundError: No module named 'CommandNotFound'
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'
E: Sub-process returned an error code

解决

修改cnf配置文件到原来的系统python版本即可, 比如ubuntu18.04默认是python3.6, 那就修改为3.6, 不然因为修改了软连接到新版本, 比如python3.9, 所以报错"CommandNotFound"

su
vi /usr/lib/cnf-update-db

在这里插入图片描述

保存退出即可

效果

在这里插入图片描述

这样apt就修好了

PS

如果不会vi操作的, 去学习一下基本的字符编辑/删除和保存退出
(vi/vim可是linux的基本功

  • 9
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值