jupyter notebook 7+原生支持深色模式,≥7.0版本可直接通过settings→theme→dark启用;6.x及更早版本需用jupyter-themes工具,如jt -t oceans16 -f fira -fs 13 -cellw 90% -t,并重启服务、强制刷新浏览器生效。

Jupyter Notebook 7+ 自带深色模式,不用装第三方工具就能开箱即用;但如果你用的是 6.x 或更早版本,或者想换更个性化的主题(比如 oceans16、gruvboxd),就得靠 jupyter-themes。
确认你的 Notebook 版本是否原生支持深色模式
运行 jupyter notebook --version 查看版本号:
- ≥ 7.0:直接在右上角菜单栏点 Settings → Theme → Dark,无需额外安装
- jt -t 是唯一稳定方案;强行改 CSS 容易被后续更新覆盖
- 注意:
jupyterlab-night是 JupyterLab 插件,对 Notebook 无效
用 jupyter-themes 换深色主题(兼容所有版本)
执行命令前先确保已安装:
pip install jupyterthemes
常见深色主题推荐(按视觉舒适度排序):
-
oceans16:蓝灰底 + 高对比语法色,适合夜间长时间编码 -
gruvboxd:暖棕底 + 黄绿字符串 + 淡灰注释,护眼性好 -
onedork:深蓝底 + 绿色代码块边框,结构感强但对比稍弱
应用示例(以 oceans16 为例):
jt -t oceans16 -f fira -fs 13 -cellw 90% -T
参数说明:
-
-f fira:必须指定等宽字体,否则中文或符号可能错位 -
-cellw 90%:避免默认 100% 宽度导致滚动条遮挡代码 -
-T:显示工具栏,否则很多按钮(如“插入单元格”)不可见
换完主题没生效?这些坑最常踩
不是命令没跑,而是浏览器缓存或内核状态卡住了:
- 必须重启 Jupyter Notebook 进程(关掉所有
localhost:8888页面,再重新jupyter notebook) - Chrome/Firefox 缓存 CSS 文件,强制刷新(
Ctrl+Shift+R)比普通刷新管用 - 如果用了
-r恢复默认,记得清空浏览器缓存,否则旧样式还在 - Conda 环境下装了
jupyter-themes,但启动时用的是 base 环境的 kernel,会导致主题不加载
深色主题真正起效的关键不在参数多寡,而在字体、宽度、工具栏三者是否协同——缺一就容易出现文字糊成一片、按钮找不到、代码缩进错乱等问题。











