温馨提示×

Ubuntu如何更新Python安装版本

小樊
36
2025-12-16 12:52:28
栏目: 编程语言

在 Ubuntu 上更新 Python 的可选方案与步骤

一 方法总览与选择建议

  • 使用 APT + deadsnakes PPA:最简便,适合大多数桌面与服务器场景,便于获取较新的 Python 3.x 版本。
  • 使用 pyenv:在同一台机器上管理多个 Python 版本,互不干扰,适合开发与测试多版本共存。
  • 从源码编译安装:可定制编译选项与优化,适合需要特定配置或新版本尚未在仓库提供的情况。
  • 使用 Docker:环境完全隔离,适合 CI/CD、交付与多版本并行验证。选择时优先考虑对现有系统影响最小、可回滚的方式(如 pyenv 或 Docker)。

二 使用 APT 与 deadsnakes PPA 安装新版本

  • 更新索引并安装工具:
    • sudo apt update
    • sudo apt install -y software-properties-common
  • 添加 deadsnakes PPA(提供多版本 Python):
    • sudo add-apt-repository ppa:deadsnakes/ppa
    • sudo apt update
  • 安装所需版本(示例为 Python 3.10):
    • sudo apt install -y python3.10
  • 验证安装:
    • python3.10 --version
  • 可选:将新版本加入 alternatives 以便切换默认 python3(谨慎操作,避免影响系统工具链)
    • sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 2
    • sudo update-alternatives --config python3 说明:上述方式不会覆盖系统自带的 python3,推荐通过 alternatives 管理默认版本,减少对 APT 与系统脚本的潜在影响。

三 使用 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
  • 配置环境变量(写入 ~/.bashrc 或 ~/.zshrc):
    • echo ‘export PYENV_ROOT=“$HOME/.pyenv”’ >> ~/.bashrc
    • echo ‘export PATH=“$PYENV_ROOT/bin:$PATH”’ >> ~/.bashrc
    • echo -e ‘if command -v pyenv 1>/dev/null 2>&1; then\n eval “$(pyenv init --path)”\nfi’ >> ~/.bashrc
    • source ~/.bashrc
  • 安装与切换版本:
    • pyenv install 3.10.12
    • pyenv global 3.10.12 # 全局默认
    • pyenv local 3.9.18 # 仅当前项目目录
  • 验证:
    • python --version 提示:pyenv 安装的版本彼此隔离,配合 pyenv-virtualenv 可进一步管理虚拟环境,避免污染系统或项目依赖冲突。

四 从源码编译安装(可定制与最新版本)

  • 安装编译依赖:
    • sudo apt update
    • sudo apt install -y build-essential libssl-dev zlib1g-dev libbz2-dev
      libreadline-dev libsqlite3-dev libgdbm-dev libbz2-dev libffi-dev liblzma-dev tk-dev
  • 下载并编译(示例为 Python 3.11.0):
    • wget https://www.python.org/ftp/python/3.11.0/Python-3.11.0.tgz
    • tar -xf Python-3.11.0.tgz && cd Python-3.11.0
    • ./configure --enable-optimizations
    • make -j “$(nproc)”
    • sudo make altinstall # 使用 altinstall 避免覆盖系统 python3
  • 验证:
    • python3.11 --version 说明:如需将新版本链接为默认 python3,可通过 alternatives 注册后再切换,避免直接替换 /usr/bin/python3。

五 重要注意事项与最佳实践

  • 不要随意替换系统自带的 /usr/bin/python3,以免影响 APT、GNOME Terminal 等系统组件;优先使用 update-alternatives 或版本管理工具进行切换。
  • 为每个项目使用 venvpyenv-virtualenv 隔离依赖,减少版本与包冲突:
    • python3 -m venv .venv && source .venv/bin/activate
  • 升级前备份关键数据与虚拟环境,先在测试环境验证依赖兼容性;升级后使用 pip freeze > requirements.txt 记录依赖。
  • 若使用 Anaconda/Miniconda,请用 conda 管理 Python 与包:conda update python(在对应环境中执行)。
  • 版本选择建议:Python 2 已于 2020 年停止支持,优先选择受支持的 Python 3.x 版本(如 3.8+ 用于 Web 开发)。

0