Sublime Build System 文件必须放在 Packages/User/ 目录下才生效;Sublime 仅从内置只读包和 Packages/User/ 加载构建系统,其他位置均无效,且需用 Preferences → Browse Packages… 进入 User/ 新建 .sublime-build 文件,命名如 Python3.sublime-build。

Sublime Build System 文件必须放在 Packages/User/ 才生效
Sublime 不会从任意位置加载 .sublime-build 文件,只认两个路径:内置只读包(你改不了),以及 Packages/User/。丢在桌面、项目根目录、甚至 Packages/ 下其他子文件夹里,它根本不会出现在 Tools → Build System 菜单中。
实操建议:
- 用菜单
Preferences → Browse Packages…打开目录,直接进入User/子文件夹 - 新建文件,命名如
Python3.sublime-build,后缀必须是.sublime-build - 保存后,如果没立刻出现,试试
Tools → Build System → Refresh Projects(部分版本需手动触发)
cmd 字段必须是数组,Windows 路径要加引号+双反斜杠
cmd 写成字符串(比如 "cmd": "python -u $file")会完全失效;Windows 下路径含空格(如 C:Program FilesPython312python.exe)不加引号就直接崩。
正确写法(Windows):"cmd": ["C:\Program Files\Python312\python.exe", "-u", "$file"]
正确写法(macOS/Linux):"cmd": ["python3", "-u", "$file"](前提是终端里 which python3 能查到)
常见错误现象:
-
Unable to find command python3—— 大概率是路径错或没加引号 - 构建后窗口一闪而过 —— Windows 下未包裹路径,命令被截断
- 终端报
command not found—— Sublime 启动时没继承 shell 的 PATH,绝对路径最稳
$file 变量要求文件已保存,未命名的 Untitled 会失效
Sublime 的构建变量依赖磁盘上的真实路径。$file 展开为空字符串时,命令变成类似 python -u "",直接静默失败或报错。
实操建议:
- 构建前务必先保存文件(
Ctrl+S/Cmd+S),哪怕临时存到桌面 -
$file_base_name和$file_path同样依赖已保存状态,别指望它们在 Untitled 标签页里工作 - 没有
$file_content这种变量,Build System 不读内存内容,别白费劲找
file_regex 错配会导致错误行无法跳转
即使命令执行成功,如果 file_regex 没匹配上实际错误输出格式,点击错误行就不会跳转到对应位置。
Python 默认错误格式是:File "xxx.py", line 42,对应正则应为:"file_regex": "^ File "(.+?)", line ([0-9]+)"
常见问题:
- 正则里少转义引号或括号,整个字段失效但 Sublime 不报错
- 用了单引号包裹正则 —— JSON 只认双引号,
'^ File...'直接静默忽略 - 不同 Python 版本/环境(如 pytest、mypy)输出格式不同,需单独适配

















