Sublime Text 无法运行 Jupyter Notebook,因 Hermes 插件仅执行纯 Python 脚本、不支持 IPython 内核与 .ipynb 结构解析;替代方案是 Sublime 编辑 + 外部 Jupyter 同步开发。

Sublime Text 本身不支持直接运行 Jupyter Notebook(.ipynb 文件),所谓「jupyter-notebook_sublime」并不是官方项目,而是社区中几个不同插件的混称;而 Hermes 插件早已停止维护,且从未真正支持 Notebook 运行——它只提供 Python 代码的轻量执行(类似 REPL),无法加载 IPython 内核、不识别 %%magic、不渲染输出(如 matplotlib 图形、HTML 表格等)。
为什么 Hermes 不能运行 Jupyter Notebook 数据代码
你看到的「Hermes + Notebook」组合,大概率是混淆了以下三类工具:
-
Hermes:一个 Sublime 的 Python 执行插件,仅调用本地python解释器执行纯脚本,不启动 IPython 内核,也不解析 Notebook JSON 结构 -
Jupyter Notebook或JupyterLab:需独立进程 + Web 服务,依赖jupyter-server和内核通信协议 - 第三方 Sublime 插件(如
SublimeJupyter或已归档的IPython Notebook Sublime Text Plugin):曾尝试桥接,但因 Sublime 缺乏原生异步 I/O 和 WebSocket 支持,全部失效或严重受限
所以,试图在 Sublime 中用 Hermes “运行 .ipynb 里的数据代码”,技术上不可行——它连读取 .ipynb 文件结构都做不到。
替代方案:用 Sublime 编辑 + 外部 Jupyter 同步开发
最稳定、被广泛验证的做法是:把 Sublime 当作高级文本编辑器,专注写代码和快速修改,把执行和可视化交给真正的 Jupyter 环境。关键在于同步和体验优化:
- 保存
.py文件后,用%run my_script.py在 Jupyter cell 中即时执行(支持变量、绘图、打印) - 用
jupytext将.ipynb与.py双向同步:jupytext --set-formats py:light,ipynb notebook.ipynb
- 配置 Sublime 的
Build System调用jupyter nbconvert --to notebook --execute实现一键运行(适合无界面场景,但不显示输出) - 安装
SublimeREPL(非 Hermes)可启动 IPython REPL,支持%matplotlib inline等基础 magic,但仍是单 cell 模式,非 Notebook 全功能
如果坚持要在 Sublime 里“类 Notebook”体验
目前唯一接近可用的路径是使用 SublimeJupyter(GitHub 上仍在维护的分支,非原版)+ 本地 Jupyter server,但它有硬性限制:
- 必须提前运行
jupyter server --no-browser --port=8888 - Sublime 插件通过 HTTP API 提交 code 到 kernel,仅返回纯文本输出(无图片、无 HTML、无交互控件)
- 不支持 cell 导航、Markdown 渲染、快捷键(如
Shift+Enter)、自动补全 - 安装方式为 Package Control 搜索
SublimeJupyter,然后手动配置kernel_name(如python3)和server_url
示例配置片段(SublimeJupyter.sublime-settings):
{
"kernel_name": "python3",
"server_url": "http://localhost:8888",
"token": ""
}
注意:token 需从 jupyter server list 输出中复制,否则 403。
真正跑数据代码时,别强求在 Sublime 里做 Jupyter 的事。它不是 IDE,也不是 Notebook 替代品。把编辑留在 Sublime,把执行、调试、可视化留给 Jupyter Lab —— 这条分工线,至今没被绕过去。










