sublime text运行python需手动配置build system:先用which python3或where python查真实路径,再新建构建系统填绝对路径、加-u参数和$ file占位符,并手动启用;它不读系统path,路径含空格或中文需注意转义。

Sublime Text 本身不带 Python 解释器,所谓“一键运行”只是调用你系统里已装好的 python 或 python3 命令——配错路径、漏掉 -u、没选对构建系统,Ctrl+B 就会静默失败或报 Unable to find python。
终端能跑 python,Sublime 却报 “Unable to find python”
这不是 Sublime 的问题,是它压根不读你的系统 PATH 环境变量,尤其 Windows 上的 Microsoft Store 版 Python、pyenv 管理的版本,或者 macOS/Linux 下用了 ~ 缩写路径,全都会失效。
- 先在终端(macOS/Linux)或 PowerShell(Windows)里执行
python --version;如果报错,再试python3 --version - 哪个返回了版本号(比如
Python 3.11.9),就说明那个命令可用——构建系统里必须一模一样,不能多空格、不能少字母 - Windows 用户务必确认安装时勾选了
Add Python to PATH;没勾选的话,哪怕 Python 装在C:\Python311,终端也找不到,Sublime 更找不到 - 想查真实路径:macOS/Linux 运行
which python3,Windows 运行py -3 -c "import sys; print(sys.executable)",拿到类似/usr/local/bin/python3或C:/Users/Alice/AppData/Local/Programs/Python/Python311/python.exe的绝对路径
Build System 必须包含 -u 参数和 $file
-u 不是可选项,是刚需。没它,print() 输出会被缓冲,尤其遇到 input() 时直接卡死;$file 是动态传入当前文件路径的占位符,缺了它就等于没告诉解释器“跑哪个文件”。
Python 3.14.2是Python编程语言在2025年12月5日发布的稳定版本,属于3.14系列的第二个维护更新。该版本包含了18项修复,重点解决了多进程、数据类及正则表达式等模块的回归问题,并修复了CVE-2025-12084等安全漏洞。此版本标志着自由线程模式(移除GIL)正式获得官方支持,是Python发展的重要里程碑。
- 推荐用
shell_cmd字段(兼容空格路径):"shell_cmd": "python3 -u \"$file\"",注意双引号和反斜杠转义 - 如果用
cmd字段(更底层),Windows 写成:"cmd": ["C:/Python311/python.exe", "-u", "$file"](正斜杠安全);macOS/Linux 写成:"cmd": ["/Users/you/.pyenv/versions/3.11.5/bin/python", "-u", "$file"] -
file_regex决定能否双击错误行跳转,别改错:"file_regex": "^[ ]*File \"(*?)\", line ([0-9]*)" - 务必加
"selector": "source.python",否则新建的 .py 文件不会自动匹配这个构建系统
保存后必须手动启用构建系统
保存为 Python.sublime-build(后缀只能是 .sublime-build,不是 .json 或 .txt)后,它只是躺在 Packages/User/ 目录里,不会自动生效。
- 菜单栏点
Tools → Build System,你会看到新出现的Python选项——必须点它一次 - 右下角状态栏出现
Python字样,才算真正启用;否则Ctrl+B仍走默认构建系统,大概率报错或无反应 - 如果想支持中文输出,Windows 下可在
shell_cmd前加chcp 65001 &,变成:"shell_cmd": "chcp 65001 & python3 -u \"$file\"",并设"shell": true - 出错时别只看一闪而过的窗口,按
Ctrl+Shift+B(Windows/Linux)或Cmd+Shift+B(macOS)打开 Build Results 面板,错误堆栈会留在那里
最常被忽略的是工作目录:Sublime 默认不在当前文件所在目录执行,导致 open("data.txt") 找不到文件。加一句 "working_dir": "$file_path" 就能解决,但很多人复制配置时漏掉了这一行。
Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!










