Hydrogen启动报“Kernel not found”需先安装ipykernel并注册内核:pip install ipykernel,再执行python -m ipykernel install --user --name python3 --display-name "Python 3";conda用户须先激活环境;注册后重启Atom或运行Hydrogen: Update Kernels。

Hydrogen 能用,但前提是它真能找到一个可用的 Jupyter 内核——不是装了 jupyter 就够,也不是装了 python 就自动有内核。很多人卡在“Kernel not found”上,根本原因就在这里。
Hydrogen 启动报 Kernel not found 怎么办
这不是 Hydrogen 插件没装好,而是它扫描不到任何已注册的 Jupyter 内核。哪怕你本地能跑 jupyter notebook,也可能只装了前端,缺了执行核心。
- 先确认是否安装了
ipykernel:pip install ipykernel(conda 用户用conda install ipykernel) - 再注册内核:
python -m ipykernel install --user --name python3 --display-name "Python 3" - 如果用 conda 环境,必须先
conda activate your-env,再运行上面那条注册命令 - 注册后重启 Atom,或手动触发
Hydrogen: Update Kernels(Cmd/Ctrl+Shift+P 调出命令面板)
为什么 Hydrogen 找不到我刚装的 R/JavaScript/Julia 内核
每种语言内核都要单独安装并显式注册,Hydrogen 不会自动“猜”你装了什么。而且注册路径、作用域(--user vs system)、环境隔离都会影响可见性。
- R:进 R 控制台执行
install.packages('IRkernel'),再运行IRkernel::installspec() - JavaScript(IJavascript):全局安装
npm install -g ijavascript,再运行ijsinstall --install=global - Julia:启动 Julia REPL,执行
using Pkg; Pkg.add("IJulia"),然后using IJulia; IJulia.installkernel() - 注册完务必重启 Atom 或手动更新内核列表,Hydrogen 不会在后台持续轮询
Hydrogen 运行代码没反应或 plot 不显示
常见于 matplotlib、seaborn 等绘图库,或者变量作用域错乱导致 Watch 表达式失效。
- 绘图前加魔法命令:
%matplotlib inline(必须写在 cell 开头,且单独一行) - Watch 表达式只监控当前 kernel 命名空间里的变量,不能跨 cell 定义后直接 watch;若变量在函数内定义,watch 也看不到
- 执行单行或选中代码块时,确保光标在正确语言模式下(Atom 右下角显示 language,如
Python;否则 Hydrogen 会跳过) - 远程内核连接失败时,检查
Connection file路径是否可读,以及目标机器是否开放对应端口
Hydrogen 设置里 LanguageMapping 是干啥的
当 Atom 没法自动识别某段代码的语言(比如 Babel、TypeScript、或自定义 DSL),你就得手动告诉 Hydrogen:“这段文本该交给哪个内核跑”。
- 打开 Hydrogen 设置 →
Language Mapping,填入 JSON 格式映射,例如:{"typescript": "python3"}(不推荐,仅调试用) - 更常见的是映射到真实支持的内核名,如:
{"babel": "babel"},前提是已装jp-babel并注册 - 键名必须和 Atom 当前 buffer 的 grammar scope 完全一致(可在 DevTools 里看
atom.workspace.getActiveTextEditor().getGrammar().scopeName) - 改完配置后需重启 Atom 才生效,热重载不支持此字段
最常被忽略的一点:Hydrogen 的 kernel 列表是静态快照,不是实时服务发现。哪怕你中途装了新内核,不手动更新或重启,它就永远“看不见”。










