在 Debian 系统中设置 Python 默认版本,常见做法取决于你是想改 系统默认 python 命令指向,还是 只影响当前用户/虚拟环境。下面按场景给你一个清晰、安全的说明(适用于 Debian 10/11/12)。
python --version
python3 --version
which python
which python3
ls -l /usr/bin/python*
Debian 默认:
python3 存在(如 3.10 / 3.11)python 命令 可能不存在(这是 Debian 的官方策略)update-alternatives(推荐)这是 Debian/Ubuntu 官方推荐 的方式。
update-alternatives --list python
如果没有,继续下一步。
例如你有 python3.11 和 python3.10:
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.11 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.10 2
sudo update-alternatives --config python
输出示例:
1 /usr/bin/python3.11
* 2 /usr/bin/python3.10
输入编号即可。
python --version
✅ 不会影响系统关键组件(apt 等仍用 python3)
~/.bashrc 或 ~/.zshrcnano ~/.bashrc
添加:
alias python=python3.11
然后:
source ~/.bashrc
✅ 优点:
❌ 缺点:
#!/usr/bin/env python 可能仍不同如果你是 开发用途,强烈建议用虚拟环境,而不是改系统默认。
sudo apt install python3-venv
python3 -m venv venv
source venv/bin/activate
激活后:
python --version
只影响当前项目 ✅
sudo ln -sf /usr/bin/python3.11 /usr/bin/python
原因:
aptDebian 不提供 python 命令,是为了:
✅ 正确做法:脚本中显式使用 python3
| 场景 | 推荐方式 |
|---|---|
| 系统级默认 | update-alternatives |
| 个人用户 | alias python=python3.x |
| 开发项目 | python3 -m venv |
| 系统脚本 | 不要改,用 python3 |
如果你愿意,可以告诉我:
cat /etc/debian_version)我可以给你一条完全适合你环境的命令。