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(交互选择):
- 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):
- 验证:
- 说明:
- 适合需要自定义编译参数、或仓库未提供所需版本的场景;注意使用 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;配合 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-alternatives 或 pyenv/altinstall。
- 升级前备份数据与项目;先在测试环境验证兼容性。
- 生产环境建议固定次要版本(如 3.12.x),并使用虚拟环境管理依赖。