[Python Issue] ModuleNotFoundError: No module named 'apt_pkg'

最近执行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
posted @ 2022-11-28 13:48  青山牧云人  阅读(1384)  评论(0编辑  收藏  举报