在 Ubuntu 上升级 Python 有几种常见方式,强烈建议不要直接替换系统自带的 Python(如 /usr/bin/python3),否则可能导致 apt、gnome 等系统工具失效。
下面按推荐程度给你说明几种做法。
pyenv 管理多个 Python 版本(最安全)sudo apt update
sudo apt install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \
libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
curl https://pyenv.run | bash
echo 'export PATH="$HOME/.pyenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
source ~/.bashrc
pyenv install 3.12.1
pyenv global 3.12.1
python --version
✅ 不影响系统 Python,可随时切换版本
apt 安装 Ubuntu 官方维护的新版本(简单但版本可能偏旧)sudo apt update
sudo apt install python3.11
使用:
python3.11 --version
⚠️ 不会替换默认 python3
deadsnakes PPA(获取较新 Python)适用于 Ubuntu 官方源版本太旧时。
sudo apt update
sudo apt install -y software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install python3.12
使用:
python3.12
sudo ln -sf /usr/bin/python3.12 /usr/bin/python3
❌ 极容易导致系统崩溃(apt / dpkg 失效)
python3.12 -m venv venv
source venv/bin/activate
| 场景 | 推荐方式 |
|---|---|
| 开发 / 学习 | ✅ pyenv |
| 只想用新版本跑脚本 | ✅ deadsnakes |
| 生产服务器 | ✅ 虚拟环境 + 指定 Python |
| 替换系统 Python | ❌ 不建议 |
如果你告诉我:
lsb_release -a)我可以给你更精确的升级方案。