Ubuntu 22.04 修改默认 Python 版本为 Python3 笔记

Ubuntu 系统默认使用的是 Python 2.x 作为 python 命令的映射,而现代开发(如 pip、Django、Flask、Scrapy 等)大多基于 Python 3。本笔记将教你如何将默认 python 命令指向 Python3(如 Python 3.8、3.10)。

背景说明

在 Ubuntu 22.04 中:

  • 系统默认安装了 Python 2 和 Python 3;
  • 运行 python 命令默认启动的是 Python 2;
  • 运行 python3 启动的是 Python 3.x(通常是 3.10);

某些新脚本或依赖使用 python 命令,会触发 Python 2,导致语法错误或运行失败。


步骤 1:确认当前 python 绑定

bash 复制代码
which python
python --version

如果输出:

bash 复制代码
/usr/bin/python
Python 2.7.18

说明系统默认绑定的是 Python2。


步骤 2:使用 update-alternatives 正确切换至 Python3

bash 复制代码
# 添加 Python3.x(比如 python3.10)为 python 的候选项
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 100

# 配置默认版本
sudo update-alternatives --config python

如果有多个版本,系统会让你选择要用哪一个作为默认。

例如:

复制代码
There are 2 choices for the alternative python (providing /usr/bin/python):

  Selection    Path                Priority   Status
------------------------------------------------------------
* 0            /usr/bin/python2     50        auto mode
  1            /usr/bin/python2     50        manual mode
  2            /usr/bin/python3     100       manual mode

Press <enter> to keep the current choice[*], or type selection number: 2

输入 2 并回车。


步骤 3:验证是否生效

bash 复制代码
python --version
which python

输出应为:

复制代码
Python 3.10.12
/usr/bin/python

步骤 4(可选):pip 同样做软连接

bash 复制代码
sudo ln -sf /usr/bin/pip3 /usr/bin/pip
pip --version

如需恢复为 Python2:

bash 复制代码
sudo update-alternatives --config python
# 选择 /usr/bin/python2

或者删除:

bash 复制代码
sudo update-alternatives --remove python /usr/bin/python3

注意事项

  • 不建议删除系统自带的 python2,某些老工具仍依赖它;
  • 使用 update-alternatives 更安全,避免破坏系统依赖;
  • update-alternatives 修改的是 /usr/bin/python 的指向(通过自动管理的软链接);

建议

在项目开发中仍建议使用虚拟环境:

bash 复制代码
python -m venv venv
source venv/bin/activate

参考

相关推荐
SelectDB11 小时前
Apache Doris Python UDF:让 SQL 直接调用 Python 生态,支撑 Agent 时代复杂业务逻辑
大数据·数据库·python
荣码19 小时前
GraphRAG:普通RAG只能回答"点"的问题,我踩了4个坑才搞懂
java·python
金銀銅鐵1 天前
[Python] 基于欧几里得算法,实现分数约分计算器
python·数学
Lyn_Li1 天前
Kaggle Top 5 | 198只股票、200条数据的金融预测——BattleFin高分方案从零复现
python·kaggle·比赛复盘·金融预测
小九九的爸爸2 天前
前端想要入门Agent开发,要具备哪些Python基础?
python·agent·ai编程
阿耶同学2 天前
手把手教你用 LangGraph 搭建三层嵌套 Agent 架构
python·程序员
XIAOHEZIcode2 天前
Ubuntu 终端美化全栈指南:Bash 到 Kitty 踩坑实录
linux·ubuntu·命令行
花酒锄作田2 天前
Pydantic校验配置文件
python
hboot2 天前
AI工程师第四课 - 深度学习入门
pytorch·python·神经网络
ZhengEnCi3 天前
P2M-Matplotlib折线图完全指南-从数据可视化到趋势分析的Python绘图利器
python·matlab·数据可视化