在 Ubuntu 上升级 Python 有几种常见方式,取决于你是要系统级升级,还是只想用最新版 Python 而不影响系统。下面按推荐程度给你说明。
一、先查看当前 Python 版本
python3 --version
Ubuntu 通常自带的是 python3.x,系统工具依赖它,不建议直接卸载或替换 /usr/bin/python3。
二、最推荐方式:使用 deadsnakes PPA(Ubuntu 官方推荐第三方)
适合:
✅ 想用最新 Python(3.12 / 3.13)
✅ 不影响系统 Python
✅ 简单稳定
1️⃣ 添加 PPA
sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
2️⃣ 安装指定版本(例如 Python 3.12)
sudo apt install python3.12
3️⃣ 检查
python3.12 --version
4️⃣ 使用新版本(不替换系统 Python)
python3.12
或创建虚拟环境:
python3.12 -m venv venv
source venv/bin/activate
三、临时切换默认 python3(⚠️ 有风险)
⚠️ 不建议新手操作,可能导致 apt / systemd 出问题。
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.12 1
sudo update-alternatives --config python3
❗ 如果系统出现问题,可恢复:
sudo update-alternatives --remove python3 /usr/bin/python3.12
四、使用 pyenv(开发者最推荐 ✅)
适合:
- 多 Python 版本共存
- 不碰系统 Python
- 开发 / 测试环境
1️⃣ 安装依赖
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
2️⃣ 安装 pyenv
curl https://pyenv.run | bash
然后按提示添加到 ~/.bashrc 或 ~/.zshrc:
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
重新加载:
source ~/.bashrc
3️⃣ 安装 Python
pyenv install 3.12.1
pyenv global 3.12.1
python --version
五、Ubuntu 22.04 / 20.04 / 18.04 建议
| Ubuntu 版本 | 自带 Python | 建议 |
|---|---|---|
| 18.04 | 3.6 | 用 pyenv / deadsnakes |
| 20.04 | 3.8 | 装 3.10 / 3.12 |
| 22.04 | 3.10 | 可升级到 3.12 |
六、常见问题
❓ pip 怎么对应?
python3.12 -m pip install xxx
❓ apt 坏了怎么办?
不要直接改 /usr/bin/python3 指向。
七、我的建议(总结)
✅ 开发环境:pyenv
✅ 服务器:deadsnakes PPA + 虚拟环境
❌ 不要强行替换系统 python3
如果你愿意,可以告诉我:
- Ubuntu 版本
- 是服务器 / 桌面 / Docker
- 是否有生产环境
我可以给你一条最合适、最安全的升级方案。