将nbconvert升级到6.x +时,如何解决TemplateNotFound错误?

问题描述

当尝试使用过去使用的模板制作新的基于Jupyter的演示文稿时,我发现将nbconvert升级到6.0以上时,出现与缺少的内置模板有关的错误basic.tpl。为此的最小复制者,创建一个名为custom.tpl的模板文件:

{% extends 'basic.tpl' %}

然后拿起任何Jupyter笔记本和pip install jupyter nbconvert并运行nbconvert notebook.ipynb --to=slides --template=custom.tpl。您将收到如下异常:

[NbConvertApp] Converting notebook example.ipynb to slides
Traceback (most recent call last):
  File "/tmp/tmp.niaMlxSIbz/venv/bin/jupyter-nbconvert",line 8,in <module>
    sys.exit(main())
...
  File "/tmp/tmp.niaMlxSIbz/custom.tpl",line 1,in top-level template code
    {% extends 'basic.tpl' %}
jinja2.exceptions.TemplateNotFound: basic.tpl

如果您pip install 'nbconvert < 6.0',您会发现同一命令成功执行。

我想象这与changes to how templates work that came in 6.0有关,但是我相信.tpl模板仍然打算得到支持,甚至还有列出的PR that restores the basic template,但是我找不到有关如何通过引用新位置来更新模板的说明。

是否可以通过更改对'basic.tpl'的引用来解决此问题?

固定到5.6.1“有效”,但是nbconvert的5.6.1版本不适用于Python 3.9,并且我需要访问笔记本中的一些较新的Python功能。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)