能,但需安装Nbextensions插件并启用Notify,同时手动授权浏览器通知权限;Jupyter 7.0+需降级至6.5.4以确保兼容;默认30秒触发阈值易被忽略,应调低或设为0。

能,但默认不支持,必须装插件 Nbextensions 并启用 Notify 才行。浏览器还要手动授权通知权限,否则右下角弹不出提醒。
安装 Nbextensions 和 Notify 插件
直接运行命令容易失败,尤其在较新版本的 Jupyter(如 7.x+)上。关键点是版本兼容性:
-
jupyter_contrib_nbextensions最后稳定支持的是jupyter notebook==6.5.4,如果你用的是jupyter notebook>=7.0(2024 年后 conda/pip 默认装的),得先降级或改用社区维护分支 - 推荐执行顺序:
pip install jupyter notebook==6.5.4<br>pip install jupyter_contrib_nbextensions<br>jupyter contrib nbextension install --user<br>jupyter nbextensions_configurator enable --user
- 启动 Jupyter 后访问
http://localhost:8888/nbextensions,勾选Notify(不是 “Notification”,别选错)
浏览器通知权限必须手动开启
即使插件已启用,Notify 也依赖浏览器的 Notification API。Windows/macOS 浏览器(Chrome/Firefox/Edge)默认会拦截,首次运行时不会自动弹窗请求权限。
- 手动打开:地址栏左侧锁形图标 → 点击 → “网站设置” → 找到 “通知” → 改为 “允许”
- 如果之前点过“拒绝”,需先点击“清除数据”或在设置里重置该站点通知权限
- 验证是否生效:在 Cell 中运行
from IPython.display import Javascript; Javascript("new Notification('Test').onclick = () => alert('clicked')"),有弹窗即 OK
配置触发阈值和静音时段
Notify 不是每个 Cell 都提醒,它只在内核空闲后检测运行时长,且默认阈值是 30 秒 —— 这个值藏在插件 UI 里,容易被忽略。
- 在 Notebook 右上角菜单栏找到
nbextensions图标(拼图形状)→ 点击 → 找到Notify设置项 -
Minimum execution time (seconds):改成5或1才能对短任务生效;设为0表示所有 Cell 结束都提醒(慎用,易骚扰) - 它不支持按时间屏蔽(比如晚上 22:00–6:00 静音),若需此功能,得自己写 JS 注入监听页面 visibilitychange 事件 + 时间判断
真正卡住人的地方不在安装,而在浏览器权限和阈值默认值 —— 90% 的人装完以为坏了,其实是没开通知授权,或者代码跑 2 秒就结束了,根本达不到默认 30 秒触发线。


















