sublime text 运行 python 报 “python: command not found” 是因未正确配置构建系统路径;需用 which/python3 或 where 命令获取真实路径,新建 build system 并填入绝对路径、-u 参数及正则匹配,且手动选择该构建系统而非 automatic。

Sublime Text 运行 Python 报 python: command not found 怎么办
根本原因是 Sublime 没找到系统里的 python 可执行文件,不是插件没装好,也不是 Sublime 本身问题。
先确认终端里能跑:which python3(macOS/Linux)或 where python(Windows),拿到真实路径,比如 /usr/local/bin/python3 或 C:\Users\Alice\AppData\Local\Programs\Python\Python311\python.exe。
然后在 Sublime 里打开:Tools → Build System → New Build System,填入:
{
"cmd": ["<code>/usr/local/bin/python3</code>", "-u", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python"
}
注意三点:
立即学习“Python免费学习笔记(深入)”;
-
"cmd"里的路径必须和which或where输出完全一致,不能写python代称 - Windows 用户路径含空格时,要用双反斜杠或正斜杠,比如
C:/Users/Alice/AppData/Local/Programs/Python/Python311/python.exe - 别漏掉
-u参数,否则 print 输出可能卡住不刷新
Build System 选了却没反应?检查 Tools → Build System 是否设为 “Automatic”
很多人手动建了 Python3.sublime-build,但顶部菜单显示的是 Automatic,结果一按 Ctrl+B 就跑默认的(可能已失效)构建系统。
解决方法很简单:
- 保存新建的构建文件后,回到
Tools → Build System,点选你刚命名的系统(比如Python3),而不是留着Automatic - 如果列表里没出现,说明文件没保存到正确位置:macOS/Linux 是
~/Library/Application Support/Sublime Text/Packages/User/,Windows 是%APPDATA%\Sublime Text\Packages\User\ - 改完后关掉再重开文件,确保当前文件后缀是
.py,且右下角状态栏显示Python语法高亮,否则构建系统不会自动触发
想用虚拟环境里的 Python,但 venv/bin/python 路径一换就报错
不是路径写错了,而是 Sublime 的构建系统不读 shell 的 $PATH,也不会激活 venv。硬塞绝对路径能跑,但换项目就得改配置,很麻烦。
更稳的做法是写个 wrapper 脚本:
- 在项目根目录建
run_in_venv.sh(macOS/Linux)或run_in_venv.bat(Windows) - 脚本内容只做一件事:cd 到项目目录,source venv,再 exec python
- 构建系统的
"cmd"改成调用这个脚本,比如["sh", "run_in_venv.sh", "$file"]
注意:$file 是 Sublime 提供的变量,代表当前文件路径,必须保留;脚本里不要用 python,直接用 ./venv/bin/python(或 Windows 的 venv\Scripts\python.exe)避免歧义。
中文输出乱码、input() 卡死、不支持 ANSI 颜色 —— 这些不是 bug,是 Sublime 的 Console 限制
Sublime 内置的 build output panel 本质是个只读文本框,没有伪终端(pty)能力,所以:
-
input()会直接 hang 住,因为没 stdin 输入流;想交互调试,必须切到终端跑python script.py - print 中文在 Windows 上常变
,是因为它默认用系统 locale 解码 stdout 字节流,而 Python 3 默认 utf-8;临时解法是在代码开头加import sys; sys.stdout.reconfigure(encoding='utf-8')(仅 Python 3.7+) - 第三方库如
rich或colorama的颜色不会渲染,因为没 tty 环境;别指望它能替代终端
这些限制没法绕过,不是配错路径或少装插件导致的。真要完整 Python 体验,Sublime 只适合写 + 快速运行 + 查日志,别当 IDE 用。










