Sublime Text 不能直接运行 .ipynb 文件,也不支持单元格执行、内核状态保持或富输出渲染——它压根没实现 Jupyter 的 messaging protocol,所谓“配置 Jupyter 运行环境”,实际只是让 Sublime 把选中的 Python 代码发到一个已启动的 IPython/Jupyter 内核里执行,仅此而已。

Sublime Text 不能直接运行 .ipynb 文件,也不支持单元格执行、内核状态保持或富输出渲染——它压根没实现 Jupyter 的 messaging protocol,所谓“配置 Jupyter 运行环境”,实际只是让 Sublime 把选中的 Python 代码发到一个已启动的 IPython/Jupyter 内核里执行,仅此而已。
为什么装了 Jupyter 插件却按 Ctrl+Alt+B 没反应
插件本身不启动内核,只尝试连接;失败主因是内核根本没在后台监听,或插件连错了地方。
- 插件默认调用
jupyter console --existing,但如果你没手动启动过内核(比如没在终端跑过jupyter console或jupyter notebook),它就找不到任何 kernel -
No kernelspec found错误几乎全是kernel_name填错了:不是填python3.9或3.11,而是要和jupyter kernelspec list输出里那一串名字完全一致,比如myproject-py、conda-env-data-science-py - Mac 用户从桌面图标启动 Sublime,
PATH读不到~/.zshrc里的修改,jupyter_command必须写绝对路径,例如/opt/miniconda3/bin/jupyter
SendCode + SublimeREPL 是目前最稳的组合
比原生 Jupyter 插件更可靠,因为不依赖 kernel discovery,直接 spawn 一个本地 IPython 进程,且能捕获 input() 和 traceback。
- 先确保系统能直接运行
ipython:终端输入which ipython,输出路径要和你 conda/virtualenv 环境一致 - 安装
SendCode后,在Preferences → Package Settings → SendCode → Settings中设:{ "prog": "ipython", "syntax_mapping": {"python": "python"} } - 快捷键
Cmd+Enter(macOS)或Ctrl+Enter(Win/Linux)只在 SublimeREPL 的 IPython 窗口已打开时才有效;没开就先按Ctrl+Shift+P→ 输入SublimeREPL: Python - 如果
import matplotlib.pyplot as plt; plt.plot([1,2])不出图,说明没启用 inline 模式:在 SublimeREPL 窗口里先手动输%matplotlib inline
想编辑 .ipynb 文件?别指望执行,但可以高效重构
Sublime 是极少数能真正驾驭 .ipynb JSON 结构的编辑器——前提是把它当纯文本处理,而非试图模拟 Notebook UI。
- 装
Jupyter插件只为语法高亮,装Pretty JSON用于格式化,避免手改破坏结构 - 批量删输出(减小 Git diff):用正则查找
"outputs": \[([\s\S]*?)\],,替换为空;注意勾选. matches newline - 把 Markdown 单元格转成注释块:选中后按
Ctrl+Shift+P→Convert to Comment(需提前配好 Python 注释语法) - 千万别用 Sublime 直接保存修改后的
.ipynb并期望它能在 Jupyter Lab 里正常打开——先用jupyter nbconvert --to notebook --output output.ipynb input.py反向验证结构是否合法
真正容易被忽略的是:所有方案都要求你清楚当前代码在哪套 Python 环境里跑。conda 用户常犯的错是 jupyter kernelspec install 装到了 base 环境,但 Sublime 里 SendCode 发出去的却是某个 conda env 下的 ipython,结果包导入全挂。动手前,先在终端确认 which jupyter 和 which ipython 是否指向同一个环境。

















