最近執行sudo apt-get update的時候突然報錯:
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 /us$ /lib/cnf-update-db; then /usr/lib/cnf-update-db > /dev/null; fi' E: Sub-process returned an error code
簡單查了一下,找不到apt_pkg是因爲:
更新完python版本之後,路徑:/usr/lib/python3/dist-packages 下的文件 apt_pkg.cpython-36m-x86_64-linux-gnu.so,文件名沒有跟隨 python 版本進行更改,正確做法應該是把文件名中的 36m 更改爲你更新後的 python 版本號,如我更新後的 python 版本爲 python3.7 ,所以文件名應該更改爲 apt_pkg.cpython-37m-x86_64-linux-gnu.so
解決步驟:
$ sudo apt-get remove --purge python-apt $ sudo apt-get install python-apt -f $ cd /usr/lib/python3/dist-packages/ $ sudo cp apt_pkg.cpython-36m-x86_64-linux-gnu.so apt_pkg.cpython-37m-x86_64-linux-gnu.so
參考鏈接:
- 解決:ModuleNotFoundError: No module named 'apt_pkg' https://www.cnblogs.com/laigongzi/p/13662114.html