在 Debian 系统上配置多个 Python 版本,常见、稳定的做法主要有三种:使用 apt 官方源、使用 deadsnakes PPA(仅 Ubuntu,Debian 不推荐)、使用 pyenv。下面按推荐程度说明。
适合:开发环境、需要频繁切换 Python 版本
sudo apt update
sudo apt install -y \
make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev \
wget curl llvm libncursesw5-dev xz-utils \
tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
curl https://pyenv.run | bash
编辑 ~/.bashrc 或 ~/.zshrc:
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv init --path)"
然后:
exec "$SHELL"
pyenv install 3.10.13
pyenv install 3.12.1
pyenv install 2.7.18
查看已安装版本:
pyenv versions
# 全局
pyenv global 3.12.1
# 当前目录
pyenv local 3.10.13
# 临时
pyenv shell 3.9.6
✅ 优点
❌ 缺点
适合:服务器、生产环境
apt search 'python3\.[0-9]+'
示例:
sudo apt install python3.11 python3.12
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.12 2
切换版本:
sudo update-alternatives --config python3
⚠ 注意
/usr/bin/python,可能影响系统工具python3✅ 优点
无论哪种方案,都建议用虚拟环境:
python3.12 -m venv venv
source venv/bin/activate
或:
pyenv virtualenv 3.10.13 myproject
pyenv activate myproject
| 方式 | 原因 |
|---|---|
| 从源码手动 install | 容易污染系统 |
| deadsnakes PPA | 仅 Ubuntu |
| 直接覆盖 /usr/bin/python | 破坏系统 |
| 场景 | 推荐 |
|---|---|
| 开发 | ✅ pyenv |
| 服务器 | ✅ apt + venv |
| CI / Docker | apt / pyenv |
如果你愿意,可以告诉我:
我可以给你一套完全对应你环境的具体配置方案。