在 Ubuntu 上切换 Python 版本有多种方式,推荐先用系统自带工具,不要用 rm 直接删系统 Python,否则容易把系统搞坏。下面按常用程度给你说明。
ls /usr/bin/python*
或
python3 --version
python --version # 可能没有
update-alternatives(最推荐 ✅)假设你有 python3.8 和 python3.10:
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.10 2
数字越大,优先级越高。
sudo update-alternatives --config python
输出示例:
There are 2 choices for the alternative python (providing /usr/bin/python).
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
输入数字即可切换。
python --version
~/.bashrcalias python='/usr/bin/python3.10'
然后:
source ~/.bashrc
✅ 安全、不会影响系统工具
pyenv(开发环境强烈推荐 ✅✅✅)适合开发 / 多版本并存,不干扰系统 Python。
sudo apt update
sudo apt install -y curl git
curl https://pyenv.run | bash
然后按提示把这几行加入 ~/.bashrc:
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
pyenv install 3.11.6
pyenv install 3.8.18
pyenv global 3.11.6
pyenv local 3.8.18
pyenv shell 3.8.18
sudo rm /usr/bin/python
sudo ln -s /usr/bin/python3.10 /usr/bin/python
⚠️ 可能破坏 apt、software-properties、系统更新等
| 场景 | 推荐方式 |
|---|---|
| 系统级切换 | update-alternatives |
| 个人账户/脚本 | alias |
| 开发多版本 | ✅ pyenv |
| 系统维护 | ❌ 不手动改系统 python |
如果你愿意,可以告诉我:
我可以给你一套最适合你当前系统的操作步骤。