Sublime报“Unable to find python3 in PATH”是因为其子进程不读取shell配置文件,需在Build System的cmd字段中硬编码python3绝对路径并添加-u参数。
Sublime Text 报
,不是你没配好
环境变量
,而是它压根不读你的
、
或 Windows 用户环境变量——子进程启动时用的是空环境。
为什么终端能跑
python
3,Sublime 就找不到
Sublime 通常不是从 shell 启动的(比如通过 Spotlight、Dock、开始菜单或桌面图标),它不会加载任何 shell 配置文件。即使你刚在终端里执行过
,对 Sublime 也完全无效。
验证方法:按
打开 Sublime 内置控制台,输入:
你会看到输出是空的,或者只有极简系统路径,根本没有你加的 Python 目录。
立即学习
“
Python免费学习笔记(深入)
”;
Python 3.14.3
微软官方的 Python 扩展,是 VS Code 安装量最高的扩展(209M+)。集成 IntelliSense(通过 Pylance)、调试(通过 Python Debugger)、代码检查、格式化、重构和单元测试等功能。支持 Jupyter Notebook、虚拟环境管理和多 Python 版本切换。
下载
macOS/Linux:别依赖
的结果去改系统 PATH,Sublime 不认
Windows:Microsoft Store 版 Python 默认不写入 PATH,且 Sublime 更不会读注册表里的用户变量
用
命令从终端启动 Sublime 是个例外,但日常开发中几乎没人这么干
Build System 的 cmd 字段必须写死绝对路径
是 JSON 数组,每个元素都得是字符串,且 Sublime 不做任何路径解析或环境变量展开。写
必然失败。
macOS/Linux:运行
,拿到类似
或
的路径,直接粘贴进去
Windows:运行
,选带
的路径,如
路径含空格(如
)必须用双引号包裹整个路径:
Windows 推荐统一用正斜杠,避免反斜杠转义问题:
虚拟环境里的 import 失败,99% 是 Build System 指向错了
你在终端激活了 venv,
成功了,但 Sublime 里
报
——说明构建系统用的不是这个环境里的解释器。
先激活环境:
(macOS/Linux)或
(Windows)
再查解释器路径:
或
,得到类似
或
把这个路径填进 Build System 的
字段,而不是系统默认的
或
别指望 Anaconda 或 Jedi 插件自动识别环境——它们的
配置必须和 Build System 的
完全一致
-u 参数漏掉会导致 print 卡住、input 无响应
Sublime 构建系统默认启用输出缓冲,
可能根本不显示,
则会直接 hang 住,光标不动也不报错。
是 Python 的 unbuffered 标志,必须显式加上:
别用
:它只传文件名,不带路径,导致相对导入或同目录模块
失败
别手动设
:除非有特殊需求,否则保持默认,让 Sublime 自动用
作为工作目录
如果路径指向的是
(Windows GUI 版本),输出永远为空——必须用
最常被忽略的一点:Build System 文件名必须以
结尾,且保存到
目录下(可通过
进入)。名字叫
或
都不行,必须是
,否则 Sublime 根本不会识别它。
Unable to find python3 in PATH~/.zshrc~/.bash_profileexport PATH=...Ctrl+`import os; print(os.environ.get('PATH'))which python3sublcmd"cmd": ["python3", "-u", "$file"]which python3/opt/homebrew/bin/python3/Users/you/.pyenv/versions/3.11.5/bin/pythonwhere python3Python3xxC:\Users\Alice\AppData\Local\Programs\Python\Python312\python.exeC:\Program Files\"C:/Program Files/Python312/python.exe"C:/Users/Alice/AppData/Local/Programs/Python/Python312/python.exepip install requestsimport requestsModuleNotFoundErrorsource venv/bin/activatevenv\Scripts\activate.batwhich pythonwhere python./venv/bin/python.\venv\Scripts\python.exe"cmd"/usr/bin/python3C:/Python312python_interpretercmdprint("hello")input()-u"cmd": ["/path/to/python3", "-u", "$file"]$file_nameimportworking_dir$file_pathpythonw.exepython.exe.sublime-buildPackages/User/Preferences → Browse PackagesPython3mybuildPython3.sublime-build