温馨提示×

Ubuntu如何切换Python版本

小樊
41
2026-07-28 02:43:23
栏目: 编程语言

在 Ubuntu 上切换 Python 版本,常见有 系统级切换用户级/项目级切换 两种方式。下面按使用场景给你一个清晰、安全的说明。


一、确认当前 Python 版本

python --version
python3 --version

Ubuntu 20.04+ 默认:

  • python 通常不存在或指向 python3
  • python3 通常是系统关键组件(不要随便卸载

二、安装多个 Python 版本(如未安装)

例如安装 Python 3.8 和 3.10:

sudo apt update
sudo apt install python3.8 python3.10

查看已安装版本:

ls /usr/bin/python*

三、使用 update-alternatives(系统级切换,推荐)

1️⃣ 注册 Python 版本

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 2

数字表示优先级,越大越优先。

2️⃣ 切换默认 python3 版本

sudo update-alternatives --config python3

输出示例:

  1 /usr/bin/python3.8
* 2 /usr/bin/python3.10

输入编号即可。

3️⃣ 验证

python3 --version

✅ 优点:系统级、干净、官方推荐方式
⚠️ 注意:不要修改 /usr/bin/python 指向,避免破坏系统工具


四、只修改当前用户的 Python(不影响系统)

方法 1:修改 ~/.bashrc

alias python3=/usr/bin/python3.10

然后:

source ~/.bashrc

✅ 适合个人开发
❌ 只对当前 shell 有效


五、项目级切换(强烈推荐 ✅)

使用 pyenv(最安全、最灵活)

1️⃣ 安装依赖

sudo apt install curl git build-essential \
libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget \
libffi-dev liblzma-dev

2️⃣ 安装 pyenv

curl https://pyenv.run | bash

按提示把以下内容加入 ~/.bashrc

export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"

然后:

source ~/.bashrc

3️⃣ 安装并切换 Python 版本

pyenv install 3.10.12
pyenv local 3.10.12   # 当前目录生效
pyenv global 3.10.12  # 全局生效

验证:

python --version

✅ 不影响系统 Python
✅ 每个项目可不同版本
✅ 生产环境也很常用


六、虚拟环境中使用指定 Python(最佳实践 ✅)

python3.10 -m venv venv
source venv/bin/activate

虚拟环境激活后:

python --version

✅ 项目隔离
✅ 不影响系统
✅ 强烈推荐


七、⚠️ 重要注意事项

不要删除系统 Python

sudo apt remove python3

可能导致系统崩溃(apt、gnome 等依赖它)

❌ 不要直接改 /usr/bin/python 软链接


八、推荐方案总结

场景 推荐方式
系统默认版本 update-alternatives
多版本共存 pyenv
项目开发 venv + 指定 Python
临时使用 alias

如果你愿意,可以告诉我:

  • Ubuntu 版本(如 20.04 / 22.04)
  • 是否服务器 / 桌面
  • 是否用于 系统脚本 / 开发 / Docker / 生产环境

我可以给你一个最稳妥的具体方案

0