Sublime Text找不到python命令是因为它不读取系统PATH且不启动shell环境,需用which/python3(macOS/Linux)或where python(Windows)查真实路径,并在Build System中以绝对路径数组形式写入cmd字段,首项为解释器路径、第二项为-u、第三项为"$file"。

Sublime 为什么找不到 python 命令
因为 Sublime Text 本身不读取系统 PATH,也不启动 shell 环境——它直接调用可执行文件。你在终端能敲 python 或 python3 成功,不代表 Sublime 能自动识别。构建系统(Build System)里写的 python 是字面量字符串,不是命令行别名或 shell 解析结果。
怎么查到真实的 Python 解释器路径
跳过这步,后续所有配置都可能失败。必须用系统命令查,不能靠猜测或安装目录“想当然”:
- macOS/Linux:打开终端,运行
which python3(推荐)或which python;如果用 Conda,先conda activate myenv,再which python - Windows:打开 CMD,运行
where python3或where python;Conda 用户同样先conda activate myenv,再where python - 注意:不要用
conda which python,它在某些版本中返回错误路径;以which/where输出为准 - 路径含空格(如
C:\Program Files\Python311\python.exe)时,Windows 下建议改用正斜杠写法:C:/Program Files/Python311/python.exe
Build System 里怎么写 cmd 才有效
新建 Build System(Tools → Build System → New Build System…),"cmd" 字段必须是绝对路径数组,且带 -u 参数:
-
"cmd"第一项必须是上面查到的完整路径,例如:["/opt/homebrew/bin/python3", "-u", "$file"]或["C:/Users/Alice/Anaconda3/envs/myenv/python.exe", "-u", "$file"] - 绝对不能写
["python3", "-u", "$file"]—— Sublime 不走 PATH 查找 -
-u不可省:否则print()缓冲、input()卡死,不是代码问题,是构建面板无 TTY - Windows 中文环境若仍乱码,加
"env": {"PYTHONIOENCODING": "utf-8"}同级字段
多个 Python 环境怎么不串?
全局 Build System 容易选错、覆盖,真正可靠的方式是项目级绑定:
- 菜单
Project → Save Project As…,保存为myproject.sublime-project - 编辑该文件,在
"settings"下加入"build_systems"数组,每个对象定义一个解释器路径 - 这样每次用该项目文件打开文件夹,Sublime 自动加载对应解释器;换项目就自动切换,不用手动选
- 特别注意:不要把 Conda 环境路径硬编码进全局
Python3.sublime-build,否则所有项目都跑同一个环境
-u 是最常漏掉的两个点,尤其 -u 导致的卡死现象,90% 的人会误以为是代码逻辑阻塞。

















