如何用Jupyter Notebook和nbconvert制幻灯片时隐藏代码仅显示输出?
解决Jupyter nbconvert生成幻灯片隐藏代码的问题
方法1:用内置参数直接隐藏代码
无需额外模板,直接通过命令行配置实现:
jupyter nbconvert Example_Project_Diamonds_Part2.ipynb --to slides --post serve --SlidesExporter.exclude_input=True --SlidesExporter.exclude_input_prompt=True
--SlidesExporter.exclude_input=True:完全隐藏所有代码单元格--SlidesExporter.exclude_input_prompt=True:隐藏代码单元格的输入提示符(如In [1]:)
如果需要保留特定代码单元格:
- 打开Notebook,点击
视图 > 单元格工具栏 > 标签 - 给要保留的代码单元格添加标签
keep_input - 执行命令:
jupyter nbconvert Example_Project_Diamonds_Part2.ipynb --to slides --post serve --SlidesExporter.exclude_input=True --SlidesExporter.exclude_input_prompt=True --SlidesExporter.include_input_tags="keep_input"
方法2:修复自定义模板依赖错误
你遇到的slides_reveal.tpl不存在错误,是因为自定义模板依赖nbconvert内置模板,按以下步骤解决:
- 获取nbconvert模板目录:
在Python终端执行代码:import nbconvert print(nbconvert.__path__[0] + '/templates') - 将下载的
output_toggle.tpl复制到上述目录 - 打开
output_toggle.tpl,在开头添加一行明确继承内置模板:{% extends 'slides_reveal.tpl' %} - 重新执行命令:
jupyter nbconvert Example_Project_Diamonds_Part2.ipynb --to slides --post serve --template output_toggle
方法3:用Jupyter Lab可视化配置幻灯片
- 打开Jupyter Lab和目标Notebook
- 点击
视图 > 启用幻灯片模式 - 给每个单元格设置幻灯片类型(如
幻灯片/子幻灯片) - 右键目标单元格,选择
编辑元数据,添加以下内容来隐藏代码:{ "slideshow": {"slide_type": "slide"}, "tags": ["hide_input"] } - 点击
文件 > 导出为 > Reveal.js 幻灯片,直接生成仅显示输出的幻灯片
内容的提问来源于stack exchange,提问作者Shehab Eldeen Ehab
相关产品推荐
相关产品推荐

