我正在运行代码sudo apt update
,出现获取错误
模块未找到错误:没有名为"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
8条答案
按热度按时间z9smfwbn1#
在我的例子中,问题是由于将python版本从3.6升级到3.8。
解决人:
将python版本设置回3.6
wbgh16ku2#
刚刚重新安装python3-apt和错误消失
重新启动然后安装,
**注意:**仅当python3是一个新的安装依赖项时使用。否则它会破坏系统上现有的基于python3的安装。尽管使用
--reinstall
是一个更安全的选择。jm81lzqq3#
在我的例子中,问题是我删除了Ubuntu 18.04上原始的
/usr/bin/python3
符号链接,并将其替换为指向python3.8
的符号链接。我的结论是:如果你需要一些库或模块定制版本,把它安装在一个独立的环境中,不要弄乱系统设置。否则你就有可能破坏某些东西,而这些东西只有在以后很难弄清楚到底是哪里出了问题时才能注意到。
pw136qt24#
我遇到了这个问题,这是因为我安装了python 3.6.9与3.5.2(Ubuntu 16.04)我也使用了
sudo update-alternatives --config python3
不使用auto
设置回auto
解决了我的问题(然后给予3.6.9优先级是下一步,以获得默认运行的python的最新版本)新用户:我无法回复其他评论:(zzzyeukh5#
这个问题是由于设置python3.7或更高版本为默认python3引起的。@bluevalien像你说的我必须使用
sudo update-alternatives --config pyhton3
,我设置python3.6为默认值。抱歉,我不能发表评论,因为我也是一个新用户rggaifut6#
你需要修改Python版本(3.6版对我来说很好用),但是,如果你想要另一个默认的Python版本(例如3.8版):
试着编辑文件
/usr/bin/add-apt-repository
,用特定版本的python(比如3.6)修改行#!/usr/bin/python3
。要更改此文件,请打开文本编辑器(如nano):
sudo nano /usr/bin/add-apt-repository
替换
#!/usr/bin/python3
为您的python版本(本例中为3.6)#!/usr/bin/python3.6
保存文件。
应该可以。
pokxtpni7#
我还遇到了 *"cp:无法获取"apt_pkg. cpython-36m-x86_64-Linux-gnu. so"的状态:没有这样的文件或目录 *,而我是作为超级用户。我做了同样的命令没有sudo命令,它工作得很好。
问候。
egdjgwm88#
二零二二年十二月二十四日
我也得到了这个错误时,几乎运行任何命令,它显示的文件在
无法导入apt_pkg
可能有几个原因,导致这个问题。,但我建议不要直接删除和重新安装python3-apt,可能会有问题,第一次尝试可以检查,如果你已经更新了默认的python3到一个更高的版本之前,像我一样,我已经更新了默认的python3到python3.10,这就是为什么这个错误出现.运行
要重新选择默认值,通过选择旧的(我的python3.8),“no module named apt_pkg”错误已经消除。
顺便说一句,给我自己一个提示,下次当有人想在新的python环境中运行进程时,使用conda创建一个虚拟环境会非常安全和好,与当前的操作系统(例如我的Ubuntu 20.04)没有冲突。