一、问题描述
由于我并没有保存具体错误信息,网上找了一份错误信息,大概就是下面这样子:
jacopo@jacopo-laptop:~$ update-manager Traceback (most recent call last): File \"/usr/bin/update-manager\", line 28, in from gi.repository import Gtk File \"/usr/lib/python3/dist-packages/gi/__init__.py\", line 27, in from ._gi import _APIImportError: No module named \'gi._gi\'Error in sys.excepthook:Traceback (most recent call last): File \"/usr/lib/python3/dist-packages/apport_python_hook.py\", line 64, in apport_excepthook from apport.fileutils import likely_packaged, get_recent_crashes File \"/usr/lib/python3/dist-packages/apport/__init__.py\", line 5, in from apport.report import Report File \"/usr/lib/python3/dist-packages/apport/report.py\", line 30, in import apport.fileutils File \"/usr/lib/python3/dist-packages/apport/fileutils.py\", line 23, in from apport.packaging_impl import impl as packaging File \"/usr/lib/python3/dist-packages/apport/packaging_impl.py\", line 20, in import aptFile \"/usr/lib/python3/dist-packages/apt/__init__.py\", line 21, in import apt_pkgImportError: No module named \'apt_pkg\'
二、解决方法
下面几个方法并不是并列的顺序,而是建议依次尝试。如果方法一不行,再尝试方法二。
方法一:重装 apt_pkg
sudo apt-get install --reinstall python3-apt
不一定有效,可能重装完还是会提示错误。
方法二:手动复制 apt_pkg
文件
cd /usr/lib/python3/dist-packages ls -la /usr/lib/python3/dist-packages sudo cp apt_pkg.cpython-36m-x86_64-linux-gnu.so apt_pkg.so
注意需要把上面的 apt_pkg.cpython*
这个换成你系统里对应的具体的文件名。
我目前使用了方法二是亲测解决了问题。
如果提示 cp
错误,尝试下面命令:
sudo unlink apt_pkg.so
然后重新 cp
就行了。
方法三:设置正确 Python 链接
update-alternatives --set python3 /usr/bin/python3.6
方法四:
cd /usr/lib/python3/dist-packages sudo ln -s apt_pkg.cpython-{35m,34m}-x86_64-linux-gnu.so