一、问题描述
由于我并没有保存具体错误信息,网上找了一份错误信息,大概就是下面这样子:
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-packagesls -la /usr/lib/python3/dist-packagessudo 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-packagessudo ln -s apt_pkg.cpython-{35m,34m}-x86_64-linux-gnu.so |