ubuntu升級python后ModuleNotFoundError: No module named 'apt_pkg'異常


ubuntu 18.04默認的python3的版本為3.6,各種原因需要升級python版本
lozz

升級python版本
  • 升級python

首先更新軟件包列表並安裝必備組件

sudo apt update
sudo apt install software-properties-common

添加PPA

sudo add-apt-repository ppa:deadsnakes/ppa

安裝Python 3.8(以3.8版本為例)

sudo apt install python3.8
  • 配置 python3.8 為系統默認 python3

將 python 各版本添加到 update-alternatives

⇒  which python3.8
/usr/bin/python3.8
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1

⇒  which python3.6
/usr/bin/python3.6
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 2

配置 python3 默認指向 python3.8

⇒  sudo update-alternatives --config python3
有 2 個候選項可用於替換 python3 (提供 /usr/bin/python3)。

  選擇       路徑              優先級  狀態
------------------------------------------------------------
  0            /usr/bin/python3.6   2         自動模式
  1            /usr/bin/python3.6   2         手動模式
* 2            /usr/bin/python3.8   1         手動模式

要維持當前值[*]請按<回車鍵>,或者鍵入選擇的編號:

輸入 2(python3.8前的序號), 回車.完成設置

升級python版本后的異常
  • 升級完python版本后,會出現異常
ModuleNotFoundError: No module named 'apt_pkg'
解決方法
cd /usr/lib/python3/dist-packages/
  • 復制
sudo cp apt_pkg.cpython-36m-x86_64-linux-gnu.so  apt_pkg.cpython-38m-x86_64-linux-gnu.so
sudo ln -s apt_pkg.cpython-38m-x86_64-linux-gnu.so apt_pkg.so

如果報錯,則執行下方命令,強制添加

sudo ln -fs apt_pkg.cpython-36m-x86_64-linux-gnu.so apt_pkg.so


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM