jupyter nbconvert --to notebook 不排除原始单元格

jupyter nbconvert --to notebook not excluding raw cells

我正在尝试将笔记本从 ./doc 文件夹导出到项目根目录中的 `./notebook/ 文件夹,但删除了我第一个所在的所有原始单元格。

我尝试了以下方法:

jupyter nbconvert --to notebook $< --output=$@ --TemplateExporter.exclude_raw=True

我在 Makefile 中执行此操作(因此 $<$@ 是本地笔记本的名称以及笔记本移动到顶层后的名称 ./notebook 目录)。

它运行了,但原始单元格仍然存在于笔记本的副本中。有什么我想念的吗?

似乎是由于一个错误 - 当输出格式为 'notebook' 时,nbconverts 似乎走捷径,绕过了预处理器。

我在 github 上至少遇到过一个与之相关的问题: https://github.com/jupyter/nbconvert/issues/895

这是我的解决方法。

  1. 使用以下内容创建自定义模板文件custom_notebook.tpl
{% extends 'null.tpl'%}

{%- block body %}
{{ nb | json_dumps }}
{% endblock body %}

这实际上是复制笔记本,但允许预处理器 运行。

  1. 在命令行中将 --to notebook 替换为 --to custom --template=custom_notebook.tpl

结果将是一个带有过滤器 运行 的有效笔记本。我没有用 --TemplateExporter.exclude_raw=True 测试过,但它与 --TagRemovePreprocessor.remove_cell_tags 一起工作,--to notebook 选项遭受相同的无效效果。