Sublime Text需配置绝对Python路径、添加-u参数并正确指向虚拟环境解释器,否则构建失败或输出异常;macOS/Linux用which python3,Windows用py -3,路径含空格须加引号或改斜杠。

Sublime Text 本身不运行 Python,它只是调用你本地已装好的解释器——配不对路径、漏掉 -u、没处理虚拟环境,Ctrl+B 就会直接失败或输出卡住。
怎么确认 Python 解释器真实路径?
这是所有配置的前提,跳过这步,后面全白搭。Sublime 不读系统 PATH,必须写死绝对路径。
- macOS/Linux:打开终端,运行
which python3;如果返回空,再试python3 --version看是否可用 - Windows:打开 PowerShell 或 CMD,运行
where python或py -3 --version;推荐用py启动器(自动选版本),避免硬写python.exe - 虚拟环境里要用激活后的解释器路径:先
source venv/bin/activate(macOS/Linux)或venv\Scripts\activate.bat(Windows),再运行which python或where python - 路径里不能有中文、空格;Windows 若必须含空格(如
C:\Program Files\Python311\python.exe),得用双引号包裹整个路径,或改用正斜杠C:/Program Files/Python311/python.exe
Build System 怎么写才不报 “command not found”?
Sublime 默认找不到 python 命令,因为启动时不继承 shell 的 PATH。必须新建 .sublime-build 文件并填对字段。
- 打开
Tools → Build System → New Build System… - 粘贴以下内容(按你的真实路径替换
your_python_path):your_python_path
- macOS/Linux 示例:
"cmd": ["/opt/homebrew/bin/python3", "-u", "$file"] - Windows 推荐写法(避开 PATH 和空格问题):
"cmd": ["py", "-3", "-u", "$file"],并加"shell": true - 保存为
Python3.sublime-build,文件必须放在Packages/User/目录下(可通过Preferences → Browse Packages进入)
为什么 import 包就报 ModuleNotFoundError?
不是包没装,而是 Sublime 用的解释器和你 pip install 的不是同一个——常见于 conda、venv、pyenv 环境混用。
让 macOS 自动化像说话一样简单 —— 用代码控制你的 Mac,无需学习 AppleScript 系统要求 macOS 14+ (Sonoma) Python 3.9+ 需要开启:辅助功能 + 屏幕录制权限
- 终端里
pip install requests成功,但 Sublime 里import requests报错 → 构建系统路径没指向该环境的python - 进项目虚拟环境后运行
which python,拿到类似./venv/bin/python或.\venv\Scripts\python.exe的路径,填进"cmd"字段 - 别指望“激活环境后启动 Sublime”能生效——Sublime 启动时完全不读当前 shell 的环境变量
- 多个项目用不同环境?每个项目单独建一个构建系统文件,比如
Python - myproject.sublime-build,避免复用出错
中文乱码、print 卡住、input() 不响应?
这不是文件编码问题,而是 Python 解释器启动时没拿到 UTF-8 环境,标准输出被缓冲,输入通道被禁用。
-
-u参数必须加:它强制 Python 使用无缓冲输出,否则 print 可能延迟甚至不显示 - Windows 下 CMD/PowerShell 的 locale 不一致,Sublime 构建系统默认不继承,靠
-u+ 绝对路径基本能解决 90% 的乱码和卡死 - 如果仍有中文乱码,可尝试在构建系统里加
"env": {"PYTHONIOENCODING": "utf-8"}字段 - 插件如 Anaconda 或 SublimeJEDI 补全失效?它们的
python_interpreter配置也得和构建系统路径一致,否则 import 提示、goto definition 全失效
最常被忽略的是:路径必须绝对、-u 不能少、虚拟环境路径要重新查——三者缺一,Ctrl+B 就不是“跑起来”,而是“看起来像跑起来了”。
Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!










