元数据
| id | python-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)