在 Debian 系统中切换 Python 版本,常见做法取决于你是系统级切换、用户级切换,还是项目级切换。下面按场景详细说明。
ls /usr/bin/python*
python3 --version
常见路径:
python2 → /usr/bin/python2python3 → /usr/bin/python3python3.11 → /usr/bin/python3.11update-alternatives(推荐,系统级)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
示例输出:
There are 2 choices for the alternative python3.
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/python3.11 2 auto mode
1 /usr/bin/python3.9 1 manual mode
输入编号即可切换。
python3 --version
python 命令(不推荐直接改系统)⚠️ 不建议直接改 /usr/bin/python,因为 Debian 系统工具依赖它。
如果你确实需要:
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.11 1
sudo update-alternatives --config python
.bashrcalias python=/usr/bin/python3.11
source ~/.bashrc
✅ 仅对当前用户生效
update-alternatives --user(较少用)update-alternatives --user local python /usr/bin/python3.11
venv(官方推荐)python3.11 -m venv venv
source venv/bin/activate
验证:
python --version
退出:
deactivate
pyenv(多版本管理神器)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 global 3.11.6 # 全局
pyenv local 3.11.6 # 当前目录
pyenv shell 3.11.6 # 当前 shell
/usr/bin/pythonpython3 而不是 python| 场景 | 推荐方式 |
|---|---|
| 系统默认 | update-alternatives |
| 个人开发 | venv |
| 多版本管理 | pyenv |
| 临时使用 | alias |
如果你愿意,可以告诉我:
python3 还是 python我可以给你精确到命令级别的方案。