在 Ubuntu 上切换 Python 版本有多种方式,取决于你是临时使用、系统级别切换还是虚拟环境隔离。下面按常见场景说明(以 Ubuntu 20.04 / 22.04 为例)。
ls /usr/bin/python*
python3 --version
直接在命令中指定版本:
python3.8
python3.10
update-alternatives(推荐:系统级切换)sudo apt update
sudo apt install python3.8 python3.10
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 2
sudo update-alternatives --config python3
输出示例:
There are 2 choices for the alternative python3:
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/python3.10 2 auto mode
1 /usr/bin/python3.8 1 manual mode
2 /usr/bin/python3.10 2 manual mode
Press <enter> to keep the current choice[*], or type selection number:
✅ 切换后验证:
python3 --version
python 命令(可选)sudo ln -sf /usr/bin/python3.10 /usr/bin/python
⚠ 不推荐
python 指向固定版本apt / systemd 出错python3.10 -m venv venv
source venv/bin/activate
python --version
✅ 优点:
curl https://pyenv.run | bash
按提示把以下内容加入 ~/.bashrc:
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
然后:
source ~/.bashrc
pyenv install 3.9.13
pyenv install 3.11.6
pyenv global 3.11.6 # 全局
pyenv local 3.9.13 # 当前目录
pyenv shell 3.9.13 # 当前 shell
| 系统 | 默认 Python |
|---|---|
| 20.04 | Python 3.8 |
| 22.04 | Python 3.10 |
⚠ 不要删除系统默认 Python!
| 场景 | 推荐方式 |
|---|---|
| 临时测试 | python3.x |
| 系统用户级 | update-alternatives |
| 项目开发 | ✅ 虚拟环境 |
| 多版本管理 | ✅ pyenv |
如果你愿意,可以告诉我:
pip、apt、ansible、ROS 等我可以给你最安全的具体方案 ✅