在 Ubuntu 上升级 Python 有几种常见方式,推荐优先使用系统支持的版本管理方案,避免破坏系统依赖。下面按「安全 → 进阶 → 不推荐」给你说明。
python3 --version
Ubuntu 通常自带 python3(不要卸载系统自带的 python3)。
适合:
sudo apt update
sudo apt install software-properties-common -y
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
例如安装 Python 3.12:
sudo apt install python3.12
安装后查看:
python3.12 --version
⚠️ 不建议直接替换 /usr/bin/python3
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.12 2
切换版本:
sudo update-alternatives --config python3
适合:
sudo apt update
sudo apt install -y \
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 git
curl https://pyenv.run | bash
按提示把下面内容加到 ~/.bashrc 或 ~/.zshrc:
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
然后:
source ~/.bashrc
pyenv install 3.12.1
pyenv global 3.12.1
验证:
python --version
❌ 直接删除系统 python3
❌ 用 make install 覆盖 /usr/bin/python3
❌ 修改系统软链接(会导致 apt / dpkg / gnome 出问题)
无论用哪种方式,项目里都建议:
python3 -m venv venv
source venv/bin/activate
| 场景 | 推荐方案 |
|---|---|
| 系统升级 | deadsnakes PPA |
| 开发多版本 | pyenv |
| 项目隔离 | venv |
| 系统 Python | 不动 |
如果你愿意,可以告诉我:
✅ Ubuntu 版本
✅ 当前 Python 版本
✅ 是 服务器 / 桌面 / Docker / WSL
我可以给你一套最稳妥的升级方案。