sublime text 运行 python 脚本不卡住需自定义 build system:windows 加 pause,macos/linux 用终端命令或 exec 插件;指定绝对解释器路径;正确使用 $file 和 $file_path 变量;确保 selector 为 "source.python" 且语法匹配。

怎么让 Sublime Text 运行 Python 脚本不卡在命令行里
默认的 Python 编译系统只调用 python 命令执行,脚本一跑完终端就关闭,根本看不到输出。这不是配置错了,是它本来就不带交互式终端支持。
- Windows 下用
sublime-build文件里把cmd改成["cmd", "/c", "python", "$file", "&", "pause"],加pause按任意键才退 - macOS / Linux 推荐用
terminator或gnome-terminal启动新窗口,比如:["gnome-terminal", "--", "python3", "$file"];但注意gnome-terminal在某些桌面环境(如 Wayland)可能不响应--参数 - 更稳的方案是改用
exec插件 + 自定义命令:它能在 Sublime 自带面板里捕获 stdout,但不会自动等用户输入 —— 如果脚本里有input(),得手动切到终端运行
自定义 build system 怎么指定 Python 解释器路径
你装了 python3.11,但 python 命令还是指向 2.7,build 就会报错或行为异常。Sublime 不读 shell 的 $PATH,它只认 build 文件里写的绝对路径。
一款AI工具,主要用于Codex 通用编排:利用 `update_plan` 与后台 PTY 终端并行运行 `codex exec` 工作进程,适合需要提升相关任务效率的用户。
- 先在终端运行
which python3或py -3 -c "import sys; print(sys.executable)"(Windows)拿到真实路径 - 在
Python3.sublime-build里写死"cmd": ["/usr/local/bin/python3.11", "$file"],别用python3这种软链名,有些发行版更新后会断 - Windows 上路径含空格(比如
C:\Program Files\Python311\python.exe)必须整个用双引号包住,否则 Sublime 启动时直接报Unable to find command python
build system 里 $file 和 $file_path 到底怎么用
这两个变量看着简单,但拼错一个斜杠、少个引号,就导致文件找不到或路径被截断。尤其在 Windows 下反斜杠和转义容易混乱。
-
$file是完整路径,含文件名和扩展名,例如/home/user/test.py;$file_path只到目录,例如/home/user - 如果要进目录再运行,写
"cmd": ["cd", "$file_path", "&&", "python", "$file_name"]不行 ——cd和&&是 shell 特性,Windows 的cmd不识别&&,得拆成两行或改用shell_cmd - 安全做法是统一用
shell_cmd字段(仅限支持 shell 的平台),比如:"shell_cmd": "cd '$file_path' && python3 '$file_name'",单引号防空格,但 macOS/Linux 有效,Windows 仍要用双引号
为什么保存后按 Ctrl+B 没反应,连错误提示都没有
不是快捷键冲突,也不是插件没装,大概率是 build system 没被正确激活 —— Sublime 不会自动匹配后缀和 build 文件名,它只看当前视图的 syntax 和 build 文件里的 selector。
- 检查右下角状态栏是否显示
Python,如果不是,按Ctrl+Shift+P→ 输入Set Syntax: Python手动设对 - build 文件里必须有
"selector": "source.python",不能写成python或py,否则不生效 - 如果用了第三方 Python 包(比如
Python Improved),它的 syntax 名可能是source.python.django,这时原生source.python就匹配不上,得改 selector 或换回官方 syntax










