Jupyter Notebook 怎么设置深色模式背景

林见深
林见深
发布时间:2026-08-25| 199人浏览过
原创

前言

Jupyter Notebook 想换成深色背景,很多人会先去改 CSS 或找浏览器插件,但这类办法常常只改了界面,图表和输出区域却没跟上。更稳的做法是直接用 jupyter-themes:本文按安装、启用、回退和故障排查几步梳理,顺带说明为什么有些主题更适合配合 matplotlib 使用。

Jupyter Notebook 本身并没有把深色模式做成一键开关,很多人第一反应是改 CSS 或装浏览器插件,但这类办法往往只改了界面颜色,代码输出和 matplotlib 图表未必跟着正常显示。更稳妥的路线是直接用 jupyter-themes 管理主题:先确认可用主题,再用 jt 命令启用,最后处理重启和缓存这两个最容易遗漏的环节,这样基本能判断主题为什么没生效、图表为什么会发黑。

为什么推荐用 jupyter-themes

如果目标是给 Jupyter Notebook 切换深色背景,同时尽量让界面、代码单元和图形输出保持一致,jupyter-themes 依然是最直接的一套方案。它不需要手动改 CSS 文件,也不依赖浏览器插件,安装后直接通过 jt 命令应用主题。

更重要的是,这种方式对输出内容也更友好,包括常见的 matplotlib 图表。相比只改浏览器外观的做法,它的稳定性更高,排查问题也更集中,通常只需要关注主题本身、Jupyter 重启和浏览器缓存三个点。

安装并查看可用深色主题

正式切换前,先确保 jupyter-themes 已安装,并尽量使用较新的版本。

Jupyter Notebook 深色主题选择卡片示意,突出 oceans16、gruvboxd 与 monokai 的差异
深色主题怎么选先选主题,再决定是否需要额外处理图表颜色问题。
pip install jupyterthemes

或者使用 Conda:

conda install -c conda-forge jupyterthemes

安装完成后,可以先查看当前支持的主题列表:

jt -l

常见可用的深色主题包括:gruvboxd、oceans16、monokai、onedork、solarizedd、chesterish。

如果你更在意图表显示的完整性,优先考虑 gruvboxd 和 oceans16。这两个主题对图表边框的兼容性通常更好。相比之下,monokai 的语法高亮对比更强,但在 matplotlib 默认配置下,图表边框可能发黑,后面还需要额外修一下颜色。

应用深色主题并处理显示问题

选定主题后,直接用 jt 命令启用即可。一个比较稳妥的示例如下:

jt -t oceans16 -fs 12 -cellw 90% -T -N

这条命令里几个参数分别对应不同设置:

  • -t oceans16:启用 oceans16 深色主题。这个主题是比较常见的选择,深蓝底色下图表边框默认更容易保留。
  • -fs 12:把代码字体大小设为 12。过小容易费眼,过大又会明显挤占单元格空间。
  • -cellw 90%:把单元格宽度控制在 90%,可以减少长代码排版混乱或换行过多的问题。
  • -T:显示工具栏。
  • -N:显示 notebook 名称,开多个标签页时更容易辨认。

命令执行完之后,关键动作不是普通刷新页面,而是重启 Jupyter。如果只是在浏览器里刷新,很可能看不到任何变化,于是误以为命令没有生效。

另一个常见问题是:切成深色主题后,图表坐标轴或刻度突然看不清。多数情况下,这是主题把 plt 的 tick 颜色设成了黑色。这时可以在 notebook 里补上一行:

plt.tick_params(color='w', labelcolor='w')

如果你主要依赖 matplotlib 作图,这一步尤其值得记住。它不是安装问题,而是主题和默认绘图样式之间的颜色冲突。

如何恢复默认或临时切换

如果深色主题不合适,或者只是想试几个风格,不需要手动删配置文件,直接用命令回退就可以:

jt -r

这条命令会还原相关 CSS 修改,并清理缓存设置。但在实际使用中,浏览器仍可能继续使用旧样式,所以建议再做一次硬刷新,例如 Ctrl+Shift+R。

如果只是临时看看其他主题长什么样,也可以直接切过去,例如:

jt -t monokai

不满意时再执行 jt -r 回退即可。原文中的经验是,这种临时切换不需要重启服务,适合快速预览不同主题效果。

主题没生效时先检查这两步

很多人装完 jupyter-themes 后觉得“命令没反应”,其实问题往往不在安装本身,而在两个很容易漏掉的环节:是否重启了 Jupyter,以及浏览器缓存是否已经清掉。

Jupyter Notebook 深色模式启用与排查流程示意,突出 jt 命令、重启 Jupyter 和硬刷新浏览器
深色模式为何没生效多数“没生效”问题,最后都落在重启 Jupyter 和清浏览器缓存。

可以把排查顺序简单记成下面这套:

  • 先确认主题命令已经执行,比如 jt -t oceans16 -fs 12 -cellw 90% -T -N;
  • 然后重启 Jupyter,而不是只刷新当前页面;
  • 如果样式仍旧不对,再做一次浏览器硬刷新,例如 Ctrl+Shift+R;
  • 若只是图表颜色异常,再单独检查 matplotlib 的 tick 与边框颜色。

实际使用里,前两步往往决定了大多数结果。换句话说,深色主题是否真正生效,关键不只是“装了没有”,而是“重启了没有、缓存清了没有”。把这两个点处理到位,Jupyter Notebook 的深色模式通常就能稳定用起来。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。