Sublime Text 内置控制台非完整终端,配置 Python 需手动指定绝对路径;Build System 和 SublimeREPL 需分别设置一致的 python_interpreter 路径,并注意文件绑定、工作目录及环境隔离问题。

Sublime Text 本身没有“终端默认命令解释器”这个概念——它内置的 Ctrl+` 控制台不是完整终端,不支持交互式 shell,也不读取你的 .zshrc 或 PATH;所谓“设置解释器”,实际是指配置 Build System 来运行 Python/C 等代码,或用插件(如 SublimeREPL)启动带环境的子进程。
Build System 必须写死 python3 绝对路径
Sublime 不会自动找 python3,哪怕你在终端能直接敲 python3 --version 成功。它启动时通常不加载 shell 配置,os.environ['PATH'] 里往往没有你装的 Python 路径。
- 先在终端确认真实路径:
which python3(macOS/Linux)或where python3(Windows) - 菜单 →
Tools → Build System → New Build System…,替换为:
{
"cmd": ["/usr/local/bin/python3", "-u", "$file"],
"file_regex": "^[ ]*File \"(*?)\", line ([0-9]*)",
"selector": "source.python",
"encoding": "utf-8"
}
注意:-u 强制未缓冲输出,否则 print() 可能卡住不显示;Windows 路径用正斜杠 C:/Python311/python.exe 更稳,避免双反斜杠转义问题;路径中不能含中文或空格。
想在系统终端(cmd/PowerShell/Terminal.app)里运行,别用内置控制台
内置 Ctrl+` 控制台只适合看简单输出,没法输入、不支持 pip、不能进虚拟环境。真要调用系统终端,得改 Build System 的 cmd:
- macOS 示例(打开 Terminal.app):
["open", "-a", "Terminal", "--args", "/usr/local/bin/python3", "-u", "$file"] - Windows 示例(cmd):
["cmd", "/k", "C:/Python311/python.exe", "-u", "$file"] - Windows PowerShell:
["powershell", "-NoExit", "-Command", "& 'C:/Python311/python.exe' -u '$file'"]
/k 表示执行完保持窗口打开,方便看报错;/c 则执行完立刻关闭——调试阶段务必用 /k,不然错误一闪就没了。
SublimeREPL 插件可以模拟交互式解释器,但需单独配路径
如果你需要类似 IPython 那样的交互体验,SublimeREPL 是目前最靠谱的选择,但它和 Build System 是两套机制,配了 Build System 不等于 SublimeREPL 就自动用上你的 Python。
- 安装后,进
Preferences → Package Settings → SublimeREPL → Settings – User - 写入:
{"python_interpreter": "/usr/local/bin/python3"} - 重启 Sublime,再通过
Tools → SublimeREPL → Python → Python启动
这里填的路径必须和 Build System 里一致,否则可能一个用 Python 3.11,另一个还在跑 Python 2.7;而且 SublimeREPL 不继承虚拟环境激活状态,项目级切换得靠 python_interpreter 指向 venv 下的 bin/python 或 Scripts/python.exe。
真正容易被忽略的是:Build System 的 selector 和文件扩展名强绑定,改了 Python 构建系统,对 .pyw 或 .ipynb 文件完全无效;而 SublimeREPL 启动后是独立进程,它不读当前文件路径,也不会自动 cd 到项目根目录——这些细节不处理,运行 import 报错、找不到模块就是常态。










