本文介紹在Alibaba Cloud Linux 3系統中安裝和配置高版本Python3的步驟與方法。
Alibaba Cloud Linux 3(Alinux3)系統預設內建的 Python 3 版本為 Python 3.6。由於系統核心組件(如 dnf)依賴該版本,為保障系統穩定性和相容性,Alinux3 暫不計劃升級系統預設的 python3 命令所指向的版本。
然而,為滿足開發人員對高版本 Python 的需求,Alinux3 的官方 YUM 源中已提供多個高版本 Python 的安裝支援,使用者可安全安裝並共存使用,而不會影響系統穩定性。
根據不同 Alinux3 鏡像版本,支援的高版本 Python 如下:
系統版本 | 支援的高版本Python |
Alibaba Cloud Linux 3.2104 | Python 3.8、Python 3.11 |
Alibaba Cloud Linux 3.2104 AI Extension Edition | Python 3.8、Python 3.10、Python 3.11、Python 3.12 |
安裝高版本python3
安裝python3.8
yum install python38 -y安裝python3.11
yum install python3.11 -y安裝python3.10
yum install python3.10 -y安裝python3.12
yum install python3.12 -y使用高版本python3
系統內建的 Python 3 被多個核心組件(如 dnf、firewalld)所依賴。直接升級或替換預設 Python 版本可能導致系統不穩定、工具失效或服務異常,應嚴格避免。
推薦通過以下方式安全使用高版本 Python(如 Python 3.11),既滿足開發需求,又保障系統安全。
Python 虛擬環境(venv)可為每個專案建立獨立的運行環境,實現依賴隔離,避免包版本衝突,並防止對系統級 Python 環境造成影響。這是 Python 3 生態中推薦的開發與部署模式。
下面以python3.11為例,介紹使用步驟:
顯式調用高版本python
安裝python3.11後,通過版本尾碼命令調用版本:
python3.11 --version
pip3.11 --version建立虛擬環境
使用Python 3.11 建立獨立的虛擬環境,路徑可自訂:
python3.11 -m venv ~/venv/python311啟用虛擬環境
source ~/venv/python311/bin/activate啟用後,命令列提示符通常會顯示環境名稱,如(python311)
驗證當前環境
啟用後,python和pip將自動指向Python3.11:
python --version # 輸出:Python 3.11.x
pip --version # 使用的是 Python 3.11 的 pip如何退出虛擬環境
使用以下命令退出虛擬環境:
deactivate退出後,python和pip將恢複為系統預設的Python版本。
常見FAQ
能否使用
alternatives建立python,指向高版本Python?
不建議。
若系統中已存在 /usr/bin/python 且指向預設的 Python 3.6,修改其指向將影響所有依賴該路徑的指令碼和工具。
若組件或服務在啟動或運行時顯式調用 /usr/bin/python,一旦指向不相容的 Python 版本,可能導致服務啟動失敗等嚴重問題。
能否直接替換
/usr/bin/python3或者新增/usr/local/bin/python3,指向高版本Python?
不建議。
無論是修改 /usr/bin/python3 還是建立 /usr/local/bin/python3 軟連結指向高版本 Python,都屬於系統級全域變更,影響範圍廣。
/usr/bin/python3是系統預設命令路徑,被大量指令碼、工具和服務直接引用。/usr/local/bin也在大多數使用者的PATH搜尋路徑中,優先順序通常高於/usr/bin,新增同名命令可能被意外調用。
將這些路徑指向高版本 Python 3 後,可能引發以下問題:
高版本 Python 的 ABI、標準庫行為與舊版本不相容。
系統工具因匯入失敗或文法不相容而崩潰。
第三方 RPM 包安裝指令碼運行異常。
整體系統進入不可維護狀態。