Problem entry · machine-readable · 编码代理与终端

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

本页嵌入 #trove-entity JSON(本条目全量结构化数据);全库数据见 /agent/trove.json。

元数据

idpython-command-not-found收录2026-08-29
问题域编码代理与终端主题分组安装与依赖
适用工具python · 外部工具

症状

在 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

```

3. **写脚本用 `python3` 或 shebang `#!/usr/bin/env python3`**——兼容性最好,不要依赖 `python`。

4. 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)

来源与证据

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

验证证据:Evidence details kept locally (2026-08-29)