我正在使用 Jupyter Notebooks 为学生布置作业。我的目标是生成同一 Notebook 的不同版本,以分发给导师和学生。
我需要某些单元格(例如包含练习解决方案的单元格)仅包含在导师版本中,而其他单元格则应专属于学生版本。有时,我想删除整个单元格,有时,只想删除输出。
我相信这可以通过标记单元格并使用nbconvert
将笔记本(.ipynb
)保存到另一个.ipynb
文件来实现。
这里建议使用类似的方法转换.ipynb
为 HTML 。我很想知道是否有人有经验或有创意的新想法,可以为不同的受众创建单个 Jupyter Notebook 的不同版本。
我的项目相当庞大,所以我需要一个自动化的解决方案。虽然如果我只有几个笔记本,我可以通过复制和粘贴手动创建不同的版本,但这种方法对于更大规模的项目来说是不可行的。
根据最初的评论,我尝试将标签分配"remove_cell"
给某些笔记本单元(此处的示例笔记本),然后使用此答案的建议将其删除
jupyter nbconvert nbconvert-example.ipynb --TagRemovePreprocessor.remove_cell_tags='{"remove_cell"}'
但是,使用该选项保存到 Jupyter Notebook 时,不会删除标记的单元格--to notebook
。只有使用该选项时才会删除它们--to html
。