如何在Jupyter Lab的“导出笔记为…”菜单中获得“导出笔记为Html_toc”选项?

3
  • 如何能够在 Jupyter lab 的 Export Notebook As... 菜单中启用所有的 jupyter nbconvert 导出选项?
    • 具体来说,我要如何让菜单上显示 Export Notebook to Html_toc 选项?
  • 在 Anaconda 进行干净安装后,默认的导出菜单如下:
    • enter image description here
  • 然而,正如这个问题所示Add nbconvert export options to File --> Export notebook as #7612,还有其他选项可以从控制台运行,但不会在菜单中显示。
  • 完整的菜单将如下图所示:
    • enter image description here
1个回答

7
  • 这个答案是一个绕路的技巧,用于启用Jupyter Lab中的完整菜单。
  • 在这种情况下,我拥有一个干净的Anaconda安装,其中包括Jupyter Lab和Jupyter Notebook。
  • 进入Jupyter Lab时,只有最小的Export选项可用。

要启用Html_toc导出选项,请执行以下操作:

  1. 在Jupyter Lab的扩展管理器中安装@jupyterlab/toc
    • enter image description here
    • 当前版本的Jupyter Lab已经拥有了目录,所以这一步可能不是必需的。
  2. 关闭Jupyter lab并前往Anaconda Prompt
  3. 如果您的nbconvert版本大于5.6.1,则执行conda install -c conda-forge "nbconvert=5.6.1"
  4. 根据Installing jupyter_contrib_nbextensions Guide执行conda install jupyter_contrib_nbextensions 或者 conda install -c conda-forge jupyter_contrib_nbextensions
    • 这将安装一些扩展到\\Anaconda3\\lib\\site-packages\\jupyter_contrib_nbextensions\\nbextensions\\
    • 指南中有使用pip的安装选项,但我没有尝试过对Jupyter Lab和Jupyter Notebook进行手动安装。
  5. 运行jupyter contrib nbextension install --user
  6. 从Anaconda Prompt运行jupyter notebook
    • 在加载Jupyter Notebook环境期间,会出现以下警告[jupyter_nbextensions_configurator] nbextension '...' has duplicate listings
    • 一个位置是如上所述的\\Anaconda3\\...,另一个位置是\\Users\\...\\AppData\\\Roaming\\jupyter\\nbextensions\\...
    • 这可能是因为我之前安装了Anaconda,但我通过将\\Users\\...\\AppData\\\Roaming\\jupyter\\nbextensions\\...重命名为\\Users\\...\\AppData\\\Roaming\\jupyter\\nbextensions_old\\...来解决了这个问题。
  7. 转到Nvextensions选项卡,选择Table of Contents (2)选项,并将其Enable.
    • enter image description here
  8. 退出/注销Jupyter Notebook
  9. 从Anaconda prompt中进入jupyter lab
  10. 现在文件菜单中将启用所有的Export Notebook As...选项。
    • 包括并特别是Export Notebook to Html_toc

示例

  • 这里有示例,展示了使用Jupyter Lab生成目录输出的HTML笔记本。请查看DataCamp笔记本。

1
遗憾的是,"nbconvert=5.6.1" 与最新的 Jupyter(Lab)不兼容。 - cs0815
2
@cs0815 我一直在想它什么时候会崩溃。我还没有看到其他的选择。HTML TOC 不是本地选项,这很烦人。 - Trenton McKinney
@cs0815 如果你知道它能够与JL的哪个版本兼容,请告诉我。我会将其添加到答案中。 - Trenton McKinney
1
不知道,抱歉 )-: - cs0815

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接