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