sublime text 的 ctrl+b 失效因未配置 python 环境:需将 python 加入 path 或新建 python3 构建系统,指定 "cmd": ["python3", "-u", "$file"] 并设 encoding 为 utf-8;input() 不支持交互,应改用终端运行;中文路径易致编码错误,建议使用英文路径或显式声明编码。

为什么 Ctrl+B 没反应或报错“python: command not found”
Sublime Text 本身不自带 Python 运行环境,它只是调用系统 PATH 中的 python 或 python3 命令。如果你装了 Python 但没加进系统 PATH,或者装的是 macOS 的 Python 3.12+(默认不带 python 命令),Ctrl+B 就会失败。
- Windows 用户检查是否勾选了安装时的 “Add Python to PATH”;没勾选就手动把 Python 安装目录(如
C:\Users\XXX\AppData\Local\Programs\Python\Python311\)加进系统环境变量 - macOS 用户运行
which python3,如果输出是/opt/homebrew/bin/python3,说明要用python3,不是python - Linux 用户注意:Ubuntu/Debian 默认没装
python命令(只有python3),得手动建软链接或改构建系统
如何让 Sublime 正确调用 python3 而不是 python
默认构建系统硬编码了 python,得换掉。直接改用户级构建文件最稳妥,避免升级后被覆盖。
- 菜单栏 → Tools → Build System → New Build System…
- 删掉默认内容,粘贴以下配置(适配大多数现代 Python 环境):
{
"cmd": ["python3", "-u", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python",
"encoding": "utf-8"
}
- 保存为
Python3.sublime-build(自动存到Packages/User/) - 之后在 Tools → Build System 里选中它,再按
Ctrl+B就走python3
运行含 input() 的脚本时窗口一闪就关,怎么输数据
Sublime 的构建系统本质是调用命令行并捕获输出,但它不提供交互式 stdin 输入——所以 input() 会立刻抛出 EOFError 或直接卡住。
- 临时调试:把
input()换成固定值,比如name = "Alice" - 真要交互:别用
Ctrl+B,右键文件 → Open in Terminal(需插件),或直接去终端跑python3 xxx.py - 进阶方案:装
Terminus插件,在 Sublime 内嵌终端里运行,支持完整交互
中文路径或文件名导致 UnicodeDecodeError
Windows 上常见,尤其用 GBK 系统编码 + UTF-8 脚本时,Sublime 构建系统默认用系统编码读取文件路径,一遇到中文就崩。
- 确保脚本第一行有
# -*- coding: utf-8 -*-(虽然 Python 3 默认 UTF-8,但显式写上更稳) - 构建系统里加
"encoding": "utf-8"(上面示例已包含) - 终极规避:把项目移到纯英文路径下,比如
D:\py\hello.py,比折腾编码更省时间
路径、编码、交互——这三个点卡住的人最多,而且错误信息往往不直接指向根源。改完构建系统后记得重启 Sublime,否则缓存可能让新配置不生效。
Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!











