Alibaba Cloud Linux 3如何安装使用高版本python3

更新时间:
复制为 MD 格式

本文介绍在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

  1. 安装python3.8

yum install python38 -y
  1. 安装python3.11

yum install python3.11 -y
  1. 安装python3.10

yum install python3.10 -y
  1. 安装python3.12

yum install python3.12 -y

使用高版本python3

系统自带的 Python 3 被多个核心组件(如 dnffirewalld)所依赖。直接升级或替换默认 Python 版本可能导致系统不稳定、工具失效或服务异常,应严格避免。

推荐通过以下方式安全使用高版本 Python(如 Python 3.11),既满足开发需求,又保障系统安全。

Python 虚拟环境(venv)可为每个项目创建独立的运行环境,实现依赖隔离,避免包版本冲突,并防止对系统级 Python 环境造成影响。这是 Python 3 生态中推荐的开发与部署模式。

下面以python3.11为例,介绍使用步骤:

  1. 显式调用高版本python

安装python3.11后,通过版本后缀命令调用版本:

python3.11 --version
pip3.11 --version
  1. 创建虚拟环境

使用Python 3.11 创建独立的虚拟环境,路径可自定义:

python3.11 -m venv ~/venv/python311
  1. 激活虚拟环境

source ~/venv/python311/bin/activate

激活后,命令行提示符通常会显示环境名称,如(python311)

  1. 验证当前环境

激活后,pythonpip将自动指向Python3.11:

python --version      # 输出:Python 3.11.x
pip --version         # 使用的是 Python 3.11 的 pip
  1. 如何退出虚拟环境

使用以下命令退出虚拟环境:

deactivate

退出后,pythonpip将恢复为系统默认的Python版本。

常见FAQ

  1. 能否使用alternatives创建python,指向高版本Python?

不建议。

若系统中已存在 /usr/bin/python 且指向默认的 Python 3.6,修改其指向将影响所有依赖该路径的脚本和工具。

若组件或服务在启动或运行时显式调用 /usr/bin/python,一旦指向不兼容的 Python 版本,可能导致服务启动失败等严重问题。

  1. 能否直接替换/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 包安装脚本运行异常。

  • 整体系统进入不可维护状态。