gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 17:24:04 25 4
gpt4 key购买 nike

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

{% extends 'basic.tpl' %}
然后拿任何 Jupyter notebook 和 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“有效”,但版本 5.6.1 的 nbconvert不适用于 Python 3.9,我需要访问笔记本中的一些较新的 Python 功能。

最佳答案

我不知道 .tpl 文件是否有直接的向后兼容性,但是您可以将模板指令迁移到新的模板目录格式。
使用 jupyter --paths 查找您的用户(或系统)jupyter 配置路径。从那里,您可以将自定义模板添加到模板目录中。

$ jupyter --paths                                                 (master) ✓
config:
/Users/txoof/.jupyter << user templates can be found here on my system
/Users/txoof/.local/share/virtualenvs/folderAudit-FJk3azd9/etc/jupyter << jupyter default templates can be found here
/usr/local/etc/jupyter
/etc/jupyter
通过将默认系统模板之一复制到我的用户模板目录并将我的指令从我的 .tpl 文件粘贴到 index.py.j2 文件中,我取得了成功。
您可以找到有关从 nbconvert 5 迁移到 6 here 的更多详细信息。
截至 2020 年 11 月,从 5 移动到 6 的文档非常糟糕,但 nbconvert issues at github 非常活跃且有用。

关于jupyter-notebook - 将 nbconvert 升级到 6.x+ 时如何解决 TemplateNotFound 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64528545/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com