当使用git协作处理jupyter笔记本时,我们经常遇到人们在提交更改之前忘记删除输出(即Restart Kernel and Clear all outputs
)的问题。这导致了许多差异,97%的重写(图表是很多文本)等等 - 两次,当然我们也不得不将这些事情还原。
此外,我们中的一些人使用了一些nbextensions,它们在单元格的metadata
部分写了很多东西,这里有一个例子:
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Very Simple Markdown\n",
"Just to demonstrate the problem."
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.5.1"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
使用来自其中一个默认插件的切换标题(另一个很酷的功能是执行时间产生类似的东西):
"metadata": {
"heading_collapsed": true
},
有没有办法在保存文件时轻松排除元数据和输出,或者某些命令让jupyter清理这些内容?或者是否有可能告诉jupyter在本地某处保存这些东西?或者,在我提交之前,我是否必须提出自己的脚本来“清理”笔记本?