如何高效更新Ubuntu系统中的Python版本,轻松实现开发效率的飞跃?

更新于
2026-08-12 13:27:32
10阅读来源:SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

一、痛点概述:为什么你急需升级 Ubuntu 上的 Python?

在 Ubuntu 程序中,默认自带的 Python 往往停留在 2.7 或 3.5 左右。这会导致以下常见困扰:

  • 🔧 库兼容性问题许多新库只支持 Python ≥3.6。
  • 开发效率受限缺少最新语法特性让代码写起来冗长且易出错。
  • 🚧 程序工具冲突程序自带的旧版 Python 被误改后Ubuntu 自身的脚本可能崩溃。
  • 🔒 安全风险老版本不再收到安全补丁,潜在漏洞难以修补。

针对这些痛点,这篇文章提供三种「开发效率飞跃。

如何开发效率的飞跃?

二、方法一:使用 APT 包管理器直接安装或升级到指定版本

步骤 1 – 检查当前 Python 版本

# 查看程序默认 python3
python3 --version
# 示例输出:Python 3.5.2

步骤 2 – 更新软件源并安装目标版本

# 更新本地包索引
sudo apt update
# 安装常用依赖
sudo apt install -y software-properties-common curl
# 添加 “deadsnakes” PPA
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
# 安装目标 Python 版本
sudo apt install -y python3.9 python3.9-venv python3.9-dev

步骤 3 – 验证安装成功

# 查看新装的版本号
python3.9 --version
# 输出示例:Python 3.9.13

步骤 4 – 为新版本装 pip 并升级至最新

# 安装 pip
sudo apt install -y python3-pip
# 确认 pip 与 python 对应
python3.9 -m pip --version
# 升级 pip 本身
python3.9 -m pip install --upgrade pip

⚠️ 注意事项:

  • 不要直接用 sudo apt remove python3 删除程序自带的 Python,可能导致 Ubuntu 桌面和主要工具失效。
  • 使用上述方式安装的是并行的副本。原有程序 Python 保持不变,只是为项目提供更高版本。
  • 若想让某个项目默认使用新版本。请在项目根目录创建虚拟环境(python3.9 -m venv .venv),并激活后再开发。

三、方法二:利用 update-alternatives 切换默认 python3

步骤 1 – 确保已安装目标版本

# 示例安装 Python 3.8
sudo apt install -y python3.8

步骤 2 – 注册到 alternatives 程序

# 为 /usr/bin/python3 创建一个新的候选项
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.5 10 \
--slave /usr/bin/pip3 pip /usr/bin/pip5
# 再添加新版本的候选项
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 20 \
--slave /usr/bin/pip3 pip /usr/bin/pip8

解释的观点是,

  • `--install` 参数结构: `` `` `` `` priority 越大越被视为默认; 这里给旧版设为10,新版设为20。话说回来,
  • `--slave` 用法: 绑定对应的 PIP 可保证切换时同步更新。老实说,

#

  • 0 /usr/bin/python5 10 auto mode 1 /usr/bin/python5 10 manual mode 2 /usr/bin/python8 20 manual mode

Enter selection : 2

步骤4 – 验证切换结果

# 查看当前指向的解释器与pip是否匹配
python --version # 应显示新安装的版本。如 Python 0x8.
pip --version # 应对应同一版本,如 pip 20.x from ...

⚠️ 小心点:

  • Apt 包管理器仍然会保留原始方法
  • Apt 升级时可能会覆盖 `update-alternatives` 的配置,请记得在大规模程序升级后 检查。
  • Avoid changing symlink for **system scripts** that explicitly call `/usr/bin/python` unless you know impact.

四、方法三:使用 pyenv 管理多版本——最灵活也最适合开发者的方案

export PYENVROOT="$HOME/.pyenv" export PATH="$PYENVROOT/bin:$PATH" eval "$" eval "$" source ~/.bashrc # 或 source ~/.zshrc

依赖准备

# 常见编译依赖
sudo apt update && sudo apt install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite0-dev wget curl llvm \
libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev \
liblzma-dev git

步骤 2 <="" =""> // 示例安装最新稳定版或指定小号如 Python 311.0: pyenv install 311 # 自动下载源码并编译。大约需要数分钟步骤 2>

// 若想要多个不同小号,可一次性批量: pyenv install 38.16.0 # Python $VERSION_NUMBER pyenv install 39.13 # ...

步骤 3 <="" =""> // 全局生效——所有终端默认使用此版本: pyenv global 311步骤 3>

// 项目局部生效——只在当前目录下生效: pyenv local 311 # 会在该目录生成 .python-version 文件

// 临时使用——仅在当前 shell 有效: pyenv shell 311

步骤 4 <="" =""> // 基于当前 pyenv version 创建 virtual environment: python -m venv .venv # 推荐方式之一 source .venv/bin/activate # 激活后 pip 自动指向该环境 步骤 4>

// 使用 pyenv‑virtualenv 插件创建命名空间式 venv: pyenv virtualenv 311 myproj-311 pyenv activate myproj-311

SOP 小结:

  • Apt 方法适合「一次性」全局升级;不想动程序底层但需要新版运行时。
  • update‑alternatives 提供「快速切换」功能,但仍受制于程序包管理器。
  • P y e n v + virtual env* 是「最灵活」且「无侵入」的方案。特别适合同时维护多个项目,各自依赖不同 Python 小号时使用。
  • P y e n v 能自动处理编译依赖、源码下载还有跨网站兼容,是长期维护常用方法。
  • P y e n v 完全独立于程序包管理器,不会因为 Ubuntu 大更新而丢失配置。
  • P y e n v 与 Docker 配合可实现 CI/CD 环境的一键复现。
  • .
  • .

五、实战案例:把旧机器从 Python *+PyTorch +FastAPI* 的完整流程*

<="" p="" sans-serif;="" style="“border-collapse:" width="“100%”">

如何开发效率的飞跃?

已安装旧版 

五、实战案例:把旧机器从>

标签:Ubuntu

一、痛点概述:为什么你急需升级 Ubuntu 上的 Python?

在 Ubuntu 程序中,默认自带的 Python 往往停留在 2.7 或 3.5 左右。这会导致以下常见困扰:

  • 🔧 库兼容性问题许多新库只支持 Python ≥3.6。
  • 开发效率受限缺少最新语法特性让代码写起来冗长且易出错。
  • 🚧 程序工具冲突程序自带的旧版 Python 被误改后Ubuntu 自身的脚本可能崩溃。
  • 🔒 安全风险老版本不再收到安全补丁,潜在漏洞难以修补。

针对这些痛点,这篇文章提供三种「开发效率飞跃。

如何开发效率的飞跃?

二、方法一:使用 APT 包管理器直接安装或升级到指定版本

步骤 1 – 检查当前 Python 版本

# 查看程序默认 python3
python3 --version
# 示例输出:Python 3.5.2

步骤 2 – 更新软件源并安装目标版本

# 更新本地包索引
sudo apt update
# 安装常用依赖
sudo apt install -y software-properties-common curl
# 添加 “deadsnakes” PPA
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
# 安装目标 Python 版本
sudo apt install -y python3.9 python3.9-venv python3.9-dev

步骤 3 – 验证安装成功

# 查看新装的版本号
python3.9 --version
# 输出示例:Python 3.9.13

步骤 4 – 为新版本装 pip 并升级至最新

# 安装 pip
sudo apt install -y python3-pip
# 确认 pip 与 python 对应
python3.9 -m pip --version
# 升级 pip 本身
python3.9 -m pip install --upgrade pip

⚠️ 注意事项:

  • 不要直接用 sudo apt remove python3 删除程序自带的 Python,可能导致 Ubuntu 桌面和主要工具失效。
  • 使用上述方式安装的是并行的副本。原有程序 Python 保持不变,只是为项目提供更高版本。
  • 若想让某个项目默认使用新版本。请在项目根目录创建虚拟环境(python3.9 -m venv .venv),并激活后再开发。

三、方法二:利用 update-alternatives 切换默认 python3

步骤 1 – 确保已安装目标版本

# 示例安装 Python 3.8
sudo apt install -y python3.8

步骤 2 – 注册到 alternatives 程序

# 为 /usr/bin/python3 创建一个新的候选项
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.5 10 \
--slave /usr/bin/pip3 pip /usr/bin/pip5
# 再添加新版本的候选项
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 20 \
--slave /usr/bin/pip3 pip /usr/bin/pip8

解释的观点是,

  • `--install` 参数结构: `` `` `` `` priority 越大越被视为默认; 这里给旧版设为10,新版设为20。话说回来,
  • `--slave` 用法: 绑定对应的 PIP 可保证切换时同步更新。老实说,

#

  • 0 /usr/bin/python5 10 auto mode 1 /usr/bin/python5 10 manual mode 2 /usr/bin/python8 20 manual mode

Enter selection : 2

步骤4 – 验证切换结果

# 查看当前指向的解释器与pip是否匹配
python --version # 应显示新安装的版本。如 Python 0x8.
pip --version # 应对应同一版本,如 pip 20.x from ...

⚠️ 小心点:

  • Apt 包管理器仍然会保留原始方法
  • Apt 升级时可能会覆盖 `update-alternatives` 的配置,请记得在大规模程序升级后 检查。
  • Avoid changing symlink for **system scripts** that explicitly call `/usr/bin/python` unless you know impact.

四、方法三:使用 pyenv 管理多版本——最灵活也最适合开发者的方案

export PYENVROOT="$HOME/.pyenv" export PATH="$PYENVROOT/bin:$PATH" eval "$" eval "$" source ~/.bashrc # 或 source ~/.zshrc

依赖准备

# 常见编译依赖
sudo apt update && sudo apt install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite0-dev wget curl llvm \
libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev \
liblzma-dev git

步骤 2 <="" =""> // 示例安装最新稳定版或指定小号如 Python 311.0: pyenv install 311 # 自动下载源码并编译。大约需要数分钟步骤 2>

// 若想要多个不同小号,可一次性批量: pyenv install 38.16.0 # Python $VERSION_NUMBER pyenv install 39.13 # ...

步骤 3 <="" =""> // 全局生效——所有终端默认使用此版本: pyenv global 311步骤 3>

// 项目局部生效——只在当前目录下生效: pyenv local 311 # 会在该目录生成 .python-version 文件

// 临时使用——仅在当前 shell 有效: pyenv shell 311

步骤 4 <="" =""> // 基于当前 pyenv version 创建 virtual environment: python -m venv .venv # 推荐方式之一 source .venv/bin/activate # 激活后 pip 自动指向该环境 步骤 4>

// 使用 pyenv‑virtualenv 插件创建命名空间式 venv: pyenv virtualenv 311 myproj-311 pyenv activate myproj-311

SOP 小结:

  • Apt 方法适合「一次性」全局升级;不想动程序底层但需要新版运行时。
  • update‑alternatives 提供「快速切换」功能,但仍受制于程序包管理器。
  • P y e n v + virtual env* 是「最灵活」且「无侵入」的方案。特别适合同时维护多个项目,各自依赖不同 Python 小号时使用。
  • P y e n v 能自动处理编译依赖、源码下载还有跨网站兼容,是长期维护常用方法。
  • P y e n v 完全独立于程序包管理器,不会因为 Ubuntu 大更新而丢失配置。
  • P y e n v 与 Docker 配合可实现 CI/CD 环境的一键复现。
  • .
  • .

五、实战案例:把旧机器从 Python *+PyTorch +FastAPI* 的完整流程*

<="" p="" sans-serif;="" style="“border-collapse:" width="“100%”">

如何开发效率的飞跃?

已安装旧版 

五、实战案例:把旧机器从>

标签:Ubuntu