编码代理与终端 · 收录于 2026-08-29 · 适用 1 工具 ✓ 实测验证

python: command not found——Ubuntu 只有 python3,没有 python 命令

已验证 2026-08-29python: command not found——Ubuntu 只带 python3;装官方包 python-is-python3 即可无副作用。

快速修复

# 一键:装 python-is-python3,让 python 指向 python3(官方包,无副作用)
sudo apt update && sudo apt install -y python-is-python3 && python --version

你会遇到什么

在 Ubuntu/Debian(含 WSL)里执行 python --version 报 Command 'python' not found,你以为是 Python 没装,去搜教程重装,结果 python3 --version 明明正常——问题不是没装 Python,而是系统里根本没有 python 这个命令。

老教程、Windows 习惯写死的 python 一跑就挂。

本文路径:快速修复(30 秒一段命令)→ 一步步排查(可跳读)→ 原理与变体(症状/原因/证据)。赶时间直接跳到「快速修复」。

为什么会这样

Ubuntu 18.04 起不再提供 python 命令(只装 python3),这是官方设计:刻意避免 python2/python3 混淆,防止脚本拿到错误的解释器。但大量老教程、CI 配置和 Windows 用户习惯仍写 python,于是"命令找不到"成了国内新手最常撞的墙之一。

  • 直接执行 python 走的是系统 PATH 查找,Ubuntu 没装 python-is-python3 就没有这个入口。
  • python3 存在 ≠ python 存在,两者是独立的命令名。
实测环境:WSL Ubuntu,2026-08-29,Python 3.14.4。

python 与 python3 是两个独立的命令名,PATH 查找只认名字不认「同义」:Ubuntu 18.04 起发行版刻意不提供 python 入口,避免脚本拿到错误版本的解释器(python2 时代的历史教训)——没有 python-is-python3 这个包时,系统里根本没有名为 python 的可执行文件,shell 报 command not found 而不是「版本不对」。

确定性推论:报错在 Ubuntu/WSL 上先 which python3 确认解释器在,再决定——脚本/CI 里把 python 改成 python3(正解,符合发行版设计),或 sudo apt install python-is-python3(提供 python → python3 的符号链接,兼容老脚本);

别用 alias(alias 不进非交互 shell,CI 里不生效);判断路径固定:command -v python 无输出 = 入口不存在,不是坏了。

一步步来

1. 先确认是不是这个问题 — 必做

command -v python; echo "exit=$?"
python3 --version

command -v python 无输出、而 python3 --version 正常 → 就是这个问题(实测一致)。

2. 装 python-is-python3(推荐) — 必做

sudo apt update && sudo apt install -y python-is-python3

这是 Ubuntu 官方包,装上后 python 就是 python3 的软链,不影响任何现有环境。

3. 不想装的话,改写法 — 必做

  • 脚本/命令里用 python3;
  • shebang 写 #!/usr/bin/env python3(兼容性最好,不要依赖 python);
  • 或当前 shell 临时 alias python=python3(只对本 shell 生效)。
venv 场景不用管:进入 venv 后 python 本来就正常,问题只出现在系统解释器。

怎么确认修好了

python --version

能正常输出版本号(如 Python 3.14.4)即成功。实测:修复前 python --version 报 not found(exit=127),python3 --version → Python 3.14.4。

其它环境的表现

环境说明
Ubuntu/Debian 18.04+无 python 命令,装 python-is-python3 补齐
WSL Ubuntu同上;Windows 侧习惯 python 的注意这是 Linux 侧行为
venv 虚拟环境venv 自带 python,无需处理
macOS自带 python3,python 视 Xcode CLT 版本而定,同样建议写 python3

症状

在 Ubuntu/Debian 系(含 WSL)里执行 python 直接失败:

$ python --version
Command 'python' not found, did you mean:
  command 'python3' from deb python3
  command 'python' from deb python-is-python3
  • python3 明明可用(python3 --version 正常)。
  • 脚本/教程里写死 python(老教程、Windows 习惯)→ 一跑就挂。

原因

  1. Ubuntu 18.04+ 起不再提供 python 命令(只装 python3),刻意避免 python2/python3 混淆——这是官方设计,不是装坏了。
  2. 大量老教程、脚本、CI 配置仍写 python;Windows 用户习惯 python 也指 python3。

解法

  1. 临时/脚本内:把命令改成 python3;或 alias python=python3(仅当前 shell)。
  2. 系统级补上 python 命令(推荐):
   sudo apt update && sudo apt install -y python-is-python3
   python --version   # 现在指向 python3
  1. 写脚本用 python3 或 shebang #!/usr/bin/env python3——兼容性最好,不要依赖 python。
  2. venv 场景:进入 venv 后 python 正常(venv 自带);问题只出现在系统解释器。
验证证据
  • 本机(WSL Ubuntu,2026-08-29):
  • 实测 1:command -v python → 无输出,exit=1。
  • 实测 2:python --version → python: command not found,exit=127——与用户报错一致。
  • 实测 3:python3 --version → Python 3.14.4,exit=0(python3 存在)。
  • 实测 4:python-is-python3 未安装(修复命令如实给出,未安装实测)。
  • 实测复现日志(2026-08-29)

适用工具 (1)

本问题方案已挂到下列工具的方案页——从工具页也能回到这里,双向可达。

python · 外部工具

成套方案 (组合包)

这个问题包含在下列成套安装方案中。

来源与证据

收录 验证 ✓ 实测验证适用 1 工具
方案含本地实测或来源可复核的解法;未实测项已在文中如实标注。

素材来源:https://stackoverflow.com/questions/39885520/why-does-ubuntu-show-python-command-not-found

← 编码代理与终端 问题域 | 问题货架 | 遇到其它问题?去 问题空间 提交求助卡