在 Ubuntu 上切换 Python 版本,常见有 系统级切换 和 项目级切换 两种方式。下面按常用场景给你一个清晰总结。
ls /usr/bin/python*
python3 --version
假设你有 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 (providing /usr/bin/python3).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/python3.10 2 auto mode
1 /usr/bin/python3.8 1 manual mode
输入数字回车即可。
python3 --version
✅ 适合:全局使用某个 Python 版本
⚠️ 注意
Ubuntu 系统工具(如 apt)依赖 python3,不建议随意修改系统默认 python 指向。
echo "alias python='/usr/bin/python3.10'" >> ~/.bashrc
source ~/.bashrc
验证:
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 versions
pyenv shell 3.9.13
pyenv local 3.9.13
pyenv global 3.9.13
✅ 最安全、不破坏系统
✅ 多项目互不干扰
python3.10 -m venv venv
source venv/bin/activate
退出:
deactivate
✅ 每个项目一个 Python 版本 + 依赖环境
| 场景 | 推荐方式 |
|---|---|
| 系统默认 | update-alternatives |
| 个人开发 | alias |
| 多版本管理 | pyenv |
| 项目隔离 | venv / pyenv |
如果你愿意,可以告诉我:
我可以给你一套最稳妥的方案。