今天折腾了一下午的服务器,有台服务器之前其他同学装了个 Ubuntu 17.04,现在发现更新不了了,源都没有了。由于急需使用,所以需要解决这个问题。在 Ubuntu 17.04 升级 18.04 的过程中遇到了不少问题,在这里尽可能的记录一些,其他的大大小小的问题不可能都记录全。本文记录的是 No module named 'apt_pkg'
这个错误,没想到 Ubuntu 的 apt 居然也需要依赖 Python 的包,在此记录一下解决这个问题的方法。
总之还是比较难搞,最后一切问题都搞完准备 do-release-upgrade
的时候,提示需要重启,一重启,服务器直接连不上了。真的是给跪下了,到现在也不知道怎么搞,只能等待开学之后去机房看看具体问题了。
文章目录
隐藏
一、问题描述
二、解决方法
一、问题描述
由于我并没有保存具体错误信息,网上找了一份错误信息,大概就是下面这样子:
jacopo@jacopo-laptop:~$ update-manager
Traceback (most recent call last):
File "/usr/bin/update-manager", line 28, in <module>
from gi.repository import Gtk
File "/usr/lib/python3/dist-packages/gi/__init__.py", line 27, in <module> from ._gi import _API
ImportError: 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 <module>
from apport.report import Report
File "/usr/lib/python3/dist-packages/apport/report.py", line 30, in <module>
import apport.fileutils
File "/usr/lib/python3/dist-packages/apport/fileutils.py", line 23, in <module>
from apport.packaging_impl import impl as packaging
File "/usr/lib/python3/dist-packages/apport/packaging_impl.py", line 20, in <module>
import apt
File "/usr/lib/python3/dist-packages/apt/__init__.py", line 21, in <module>
import apt_pkg
ImportError: 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
上面的方法三和方法四并未尝试,具体方法来源:
- https://askubuntu.com/questions/480908/problem-with-update-manager-no-module-named-apt-pkg-in-ubuntu-13-10-having-i