sublime text运行python报错的根本原因是未正确配置python解释器绝对路径。需用which/python3(macos/linux)或where python(windows)查真实路径,写入.sublime-build的cmd数组第一项,并添加-u参数和$file变量,虚拟环境须用激活后的解释器路径。

Sublime Text 不运行 Python,它只调用你本地装好的解释器。配错路径,Ctrl+B 就直接报错或输出卡住——这不是插件问题,也不是 Sublime 本身故障,而是它根本没找到那个 python3 可执行文件。
怎么查到真正能用的 Python 路径?
跳过这步,后面全白搭。Sublime 不读系统 PATH,必须写死绝对路径。
- macOS/Linux:打开终端,运行
which python3;如果没输出,再试python3 --version看是否可用 - Windows:打开 PowerShell 或 CMD,运行
where python或py -3 --version;推荐用py启动器(自动选 Python 3.x) - 如果你在虚拟环境里开发,先激活它:
source venv/bin/activate(macOS/Linux)或venvScriptsctivate.bat(Windows),再运行which python或where python - 路径里不能有中文、空格;Windows 若含空格(如
C:Program FilesPython311python.exe),得用双引号包裹,或改用正斜杠写法:C:/Program Files/Python311/python.exe
Build System 怎么写才不报 “python: command not found”?
默认的 Python 构建系统硬编码调用 python,很多系统上它指向 Python 2 或根本不存在。你得新建一个显式指定路径的 .sublime-build 文件。
- 菜单栏 →
Tools→Build System→New Build System… - 替换全部内容为以下 JSON(把
cmd里的路径换成你上一步查到的真实路径):
{
"cmd": ["<code>/opt/homebrew/bin/python3</code>", "-u", "$file"],
"file_regex": "^[ ]*File "(*?)", line ([0-9]*)",
"selector": "source.python"
}
-
"cmd"必须是绝对路径;Windows 反斜杠要双写(C:\Python311\python.exe)或统一用正斜杠 - 别漏
-u参数——否则print()输出可能延迟、input()会卡住 - 保存时文件名必须是
Python3.sublime-build,且放在Packages/User/目录下(可通过Preferences → Browse Packages进入)
为什么 import 包报 ModuleNotFoundError?
不是包没装成功,而是 Sublime 用的解释器和你 pip install 的不是同一个环境。
- 你在终端里
pip install requests成功了,但 Sublime 里import requests报错 → 说明构建系统用的是系统 Python,而你装包用的是虚拟环境 - 进你的项目虚拟环境,再运行
which python或where python,拿到类似./venv/bin/python或.envScriptspython.exe的路径 - 把这个路径填进 Build System 的
"cmd"字段,而不是系统全局路径 - 多个项目用不同虚拟环境?建议每个项目单独建一个 Build System,命名如
Python - myproject.sublime-build
配置后还跑不了 input()?
Sublime 默认构建系统不连接终端标准输入,input() 会直接 hang 住。
- 上面给的
"cmd"配置是基础版,支持print和简单脚本,但不支持交互式输入 - 如需
input(),得用外部终端:把"cmd"改成调用终端命令,例如 macOS 上用["/usr/bin/osascript", "-e", "do shell script "'/opt/homebrew/bin/python3' -u '$file'""] - Windows 上可考虑用
["cmd", "/c", "start", "cmd", "/k", "<code>C:/Python311/python.exe-u "$file""],但会弹新窗口 - 更稳妥的做法是搭配
SublimeREPL插件,但它依赖额外配置,且对新手容易出错
路径写错、漏 -u、混用解释器——这三个点占了 90% 的失败案例。尤其是虚拟环境路径,很多人在终端里 which python 没加 source venv/bin/activate 就直接抄,结果指向的是系统 Python。
Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!











