在 Ubuntu 上切换 Python 版本,常见有以下几种方式,按推荐程度从上到下:
update-alternatives(推荐,系统级切换)ls /usr/bin/python*
例如看到:
/usr/bin/python2.7
/usr/bin/python3.8
/usr/bin/python3.10
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.10 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 2
sudo update-alternatives --config python
然后输入对应编号即可。
python --version
⚠️ 注意:
Ubuntu 20.04+ 很多系统工具依赖 python3,不要改动 /usr/bin/python3,只改 python 即可。
pyenv(推荐,用户级、多版本共存)适合开发环境,不影响系统。
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
echo 'export PATH="$HOME/.pyenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
source ~/.bashrc
pyenv install 3.11.4
pyenv global 3.11.4
python --version
✅ 优点:
pyenv local)python3.10 script.py
或建别名:
alias python=python3.10
python3.11 -m venv venv
source venv/bin/activate
| 场景 | 推荐方式 |
|---|---|
| 系统命令切换 | update-alternatives |
| 多版本开发 | pyenv |
| 项目隔离 | venv |
| 临时使用 | 直接指定版本 |
如果你告诉我 Ubuntu 版本 + 想切到哪个 Python,我可以给你精确命令。