[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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章