常见问题解答 (FAQ)#

以下是常见问题解答。点击问题以跳转到我们文档或 GitHub 仓库中的相关信息。

一般#

使用#

笔记本#

我的笔记本在 iframe 中显示单元格输出。它们在来回滚动时会被重置。

从 JupyterLab v4 开始,笔记本渲染已优化为仅显示所需的单元格。这会对 iframe 产生副作用。

目前的解决方法是将设置 Notebook => Windowing mode 设置为 defernone。这会对打开长笔记本和/或大量文件时 JupyterLab 的性能产生负面影响。

我的笔记本注入自定义 CSS,导致意外的滚动问题(例如,它无法滚动到活动单元格)。

从 JupyterLab v4 开始,笔记本渲染已优化为仅显示所需的单元格。它不支持更改元素 CSS margin(特别是对于单元格)。

解决方法是优先注入自定义 padding 而不是 margin。如果您无法避免更改边距,可以将设置 Notebook => Windowing mode 设置为 defernone。这会对打开长笔记本和/或大量文件时 JupyterLab 的性能产生负面影响。

技巧和窍门#

  • 如何每次启动 JupyterLab 时都使用干净的工作区?

c.ServerApp.default_url = '/lab?reset' 添加到您的 jupyter_server_config.py 中。有关更多信息,请参阅 如何创建 jupyter_server_config.py

开发#

  • 如何贡献?

  • 如何扩展或自定义 JupyterLab?

  • 在经典笔记本中,我可以使用单元格输出的自定义 Javascript 来以编程方式控制笔记本。我可以在 JupyterLab 中做同样的事情吗?

    JupyterLab 旨在支持各种可扩展性,包括基于笔记本输出的动态行为。要访问此可扩展性,您应该编写自定义 JupyterLab 扩展。如果您希望在用户在笔记本中执行某些代码时触发某些行为,您可以输出自定义 mimetype (MIME 渲染器插件)。我们目前不允许从 Javascript 渲染器访问 JupyterLab API,因为这会将内核和笔记本输出绑定到 JupyterLab,并使其他前端难以支持它。有关更多讨论和潜在的替代解决方案,请参阅问题 #4623#5789