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
这是我的解决方法。
- 使用以下内容创建自定义模板文件
custom_notebook.tpl
:
{% extends 'null.tpl'%}
{%- block body %}
{{ nb | json_dumps }}
{% endblock body %}
这实际上是复制笔记本,但允许预处理器 运行。
- 在命令行中将
--to notebook
替换为 --to custom --template=custom_notebook.tpl
结果将是一个带有过滤器 运行 的有效笔记本。我没有用 --TemplateExporter.exclude_raw=True
测试过,但它与 --TagRemovePreprocessor.remove_cell_tags
一起工作,--to notebook
选项遭受相同的无效效果。
我正在尝试将笔记本从 ./doc
文件夹导出到项目根目录中的 `./notebook/ 文件夹,但删除了我第一个所在的所有原始单元格。
我尝试了以下方法:
jupyter nbconvert --to notebook $< --output=$@ --TemplateExporter.exclude_raw=True
我在 Makefile 中执行此操作(因此 $<
和 $@
是本地笔记本的名称以及笔记本移动到顶层后的名称 ./notebook
目录)。
它运行了,但原始单元格仍然存在于笔记本的副本中。有什么我想念的吗?
似乎是由于一个错误 - 当输出格式为 'notebook' 时,nbconverts 似乎走捷径,绕过了预处理器。
我在 github 上至少遇到过一个与之相关的问题: https://github.com/jupyter/nbconvert/issues/895
这是我的解决方法。
- 使用以下内容创建自定义模板文件
custom_notebook.tpl
:
{% extends 'null.tpl'%}
{%- block body %}
{{ nb | json_dumps }}
{% endblock body %}
这实际上是复制笔记本,但允许预处理器 运行。
- 在命令行中将
--to notebook
替换为--to custom --template=custom_notebook.tpl
结果将是一个带有过滤器 运行 的有效笔记本。我没有用 --TemplateExporter.exclude_raw=True
测试过,但它与 --TagRemovePreprocessor.remove_cell_tags
一起工作,--to notebook
选项遭受相同的无效效果。