本文介绍在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 包安装脚本运行异常。
整体系统进入不可维护状态。