温馨提示×

Ubuntu 上如何更新 Python 版本

小樊
37
2025-11-30 18:21:57
栏目: 编程语言

Ubuntu 更新 Python 的三种可靠方法

在 Ubuntu 上,推荐通过APT 添加 Deadsnakes PPA编译源码或使用pyenv来管理多个 Python 版本。以下给出可直接复制的命令与要点,并强调安全与兼容性注意事项。


方法一 使用 APT 与 Deadsnakes PPA 安装特定版本

  • 更新索引并安装工具:
    • sudo apt update
    • sudo apt install -y software-properties-common
  • 添加 ppa:deadsnakes/ppa(提供多版本 Python 包):
    • sudo add-apt-repository ppa:deadsnakes/ppa
    • sudo apt update
  • 安装所需版本(示例为 Python 3.12;请按你的需求替换版本号):
    • sudo apt install -y python3.12
    • 可选:sudo apt install -y python3.12-venv python3.12-dev
  • 验证安装:
    • python3.12 --version
  • 如需将新版本设为默认的 python3(交互选择):
    • sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.12 1
    • sudo update-alternatives --config python3
  • 说明:
    • 该方式简单、可自动获得安全更新;适合大多数桌面与服务器场景。

方法二 从源码编译安装指定版本

  • 安装编译依赖:
    • sudo apt update
    • sudo apt install -y build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev libc6-dev
  • 下载并解压源码(示例 3.11.0):
    • wget https://www.python.org/ftp/python/3.11.0/Python-3.11.0.tgz
    • tar -xzf Python-3.11.0.tgz && cd Python-3.11.0
  • 配置与编译(–enable-optimizations 会进行优化,耗时更长):
    • ./configure --enable-optimizations
    • make -j$(nproc)
  • 安装(使用 altinstall 避免覆盖系统 python3):
    • sudo make altinstall
  • 验证:
    • python3.11 --version
  • 说明:
    • 适合需要自定义编译参数、或仓库未提供所需版本的场景;注意使用 make altinstall

方法三 使用 pyenv 管理多版本(推荐给开发者)

  • 安装依赖(按需精简/补齐):
    • sudo apt update
    • sudo apt install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl git
  • 安装 pyenv:
    • curl https://pyenv.run | bash
  • 将初始化加入 shell 配置(~/.bashrc 或 ~/.zshrc):
    • echo ‘export PYENV_ROOT=“$HOME/.pyenv”’ >> ~/.bashrc
    • echo ‘export PATH=“$PYENV_ROOT/bin:$PATH”’ >> ~/.bashrc
    • echo ‘eval “$(pyenv init --path)”’ >> ~/.bashrc
    • echo ‘eval “$(pyenv init -)”’ >> ~/.bashrc
    • source ~/.bashrc
  • 安装与切换版本:
    • pyenv install 3.11.0
    • pyenv global 3.11.0 # 全局
    • pyenv local 3.11.0 # 仅当前项目目录
  • 验证:
    • python --version
  • 说明:
    • 多版本并存、按项目切换,不干扰系统 Python;配合 pyenv-virtualenv 更佳。

验证、使用与注意事项

  • 常用验证命令:
    • python3 --version
    • python3.12 --version(或你安装的具体版本)
    • pip3 --version 或 python3.12 -m pip --version
  • 创建并使用虚拟环境(强烈推荐,隔离依赖):
    • python3.12 -m venv .venv
    • source .venv/bin/activate
    • pip install -r requirements.txt
  • 迁移现有项目依赖:
    • 旧环境:pip freeze > requirements.txt
    • 新环境:pip install -r requirements.txt
  • 关键注意事项:
    • 不要覆盖或随意替换系统自带的 /usr/bin/python3,以免影响 apt、gnome-terminal 等系统工具;优先使用 update-alternativespyenv/altinstall
    • 升级前备份数据与项目;先在测试环境验证兼容性。
    • 生产环境建议固定次要版本(如 3.12.x),并使用虚拟环境管理依赖。

0