ubuntu升級python後ModuleNotFoundError: No module named 'apt_pkg'異常
阿新 • • 發佈:2021-01-11
ubuntu 18.04預設的python3的版本為3.6,各種原因需要升級python版本
升級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