在 Debian 系统中设置 Python 默认版本,推荐用 update-alternatives,而不是手动改 /usr/bin/python,这样更安全、可维护。
下面按常见场景说明。
ls /usr/bin/python*
常见结果:
/usr/bin/python3.11
/usr/bin/python3.9
Debian 默认 没有 python 命令,只有
python3。
python 命令的默认版本(推荐)假设你想把 python3.11 设为默认:
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.11 1
如果有多个版本,可继续添加:
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.9 2
数字表示优先级,越大越优先。
sudo update-alternatives --config python
输出示例:
有 2 个候选项可用于替换 python (提供 /usr/bin/python)。
选择 路径 优先级 状态
------------------------------------------------------------
* 0 /usr/bin/python3.11 2 自动模式
1 /usr/bin/python3.9 1 手动模式
要维持当前值[*]请按<回车键>,或者键入选择的编号:
输入编号即可切换。
python --version
python3 的默认版本(更稳妥)Debian 官方更推荐 不改 python,只改 python3。
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.9 2
sudo update-alternatives --config python3
验证:
python3 --version
✅ 不影响系统工具(apt、dpkg、systemd)
python3.11 my_script.py
或:
/usr/bin/python3.11 -m pip install xxx
强烈推荐,避免破坏系统 Python。
python3.11 -m venv venv
source venv/bin/activate
python --version
❌ 不要删除系统 Python ❌ 不要强行把 python 指向 python3 否则可能导致:
apt 无法使用sudo 异常Debian 官方说明:
/usr/bin/python不存在是设计行为
| 场景 | 推荐方式 |
|---|---|
| 个人开发 | ✅ 虚拟环境 |
| 单用户默认 | ✅ update-alternatives --config python3 |
| 系统级默认 python | ⚠️ 不推荐 |
| 临时使用 | ✅ python3.x script.py |
如果你愿意,可以告诉我:
我可以给你一套最安全的具体方案。