我正在运行代码sudo apt update
和获取错误
ModuleNotFoundError:没有名为“apt_pkg”的模块。
请帮我解决这个问题。
sudo apt update
Hit:20 http://ppa.launchpad.net/xorg-edgers/ppa/ubuntu bionic InRelease
Fetched 93,3 kB in 2s (42,4 kB/s)
Traceback (most recent call last):
File "/usr/lib/cnf-update-db", line 8, in <module>
from CommandNotFound.db.creator import DbCreator
File "/usr/lib/python3/dist-packages/CommandNotFound/db/creator.py", line 11, in <module>
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'
E: Sub-process returned an error code
发布于 2020-05-06 21:02:00
在我的例子中,问题在于将python版本从3.6升级到3.8。
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 2
sudo update-alternatives --config python3
通过下列方式解决:
将python版本设置为3.6
发布于 2020-01-17 11:57:06
只要重新安装python3 3-apt,错误就消失了。
sudo apt remove python3-apt
重新启动然后安装,
sudo apt install python3-apt
注意:使用的条件是,python3是一个新的安装依赖项。否则,它会在您的系统上扭曲现有的基于python3的设置。不过,使用--reinstall
是一个更安全的选择。
发布于 2020-01-17 10:03:50
在我的例子中,问题在于我删除了Ubuntu18.04上的原始/usr/bin/python3
符号链接,并将其替换为指向python3.8
的一个符号链接。当我恢复指向python3.6
的原始值时,问题消失了
我的看法是:如果您需要自定义版本的某些库或模块,安装在一个孤立的环境,不要混乱的系统设置。否则,当你很难搞清楚到底出了什么问题时,你就有可能弄坏一些东西,而这些东西只有在以后才会被发现。
https://stackoverflow.com/questions/56218562
复制相似问题