有谁知道是否可以从命令行非交互式地运行IPython / Jupyter笔记本,并将结果.ipynb
文件与运行结果一起保存。如果还不可行,用phantomJS实施将有多难,是否需要打开和关闭内核以及如何打开和关闭Web服务器?
更具体地说,假设我已经有一个笔记本,original.ipynb
并且我想重新运行该笔记本中的所有单元,并将结果保存到新笔记本中new.ipynb
,但是在命令行上使用一个命令执行此操作,而无需在浏览器或浏览器中进行交互。关闭内核或Web服务器,并假设没有内核或Web服务器正在运行。
示例命令:
$ ipython notebook run original.ipynb --output=new.ipynb
是的,有可能而且很容易,它将(大部分)放在IPython 2.0的内核中,我建议现在看看这些示例。
[编辑]
$ jupyter nbconvert --to notebook --execute original.ipynb --output=new.ipynb
现在在Jupyter NbConvert中。NbConvert附带了一堆Preprocessor
默认情况下处于禁用状态的,其中两个(ClearOutputPreprocessor
和ExecutePreprocessor
)很有趣。您可以通过c.<PreprocessorName>.enabled=True
(大写的python)在您的(本地|全局)配置文件中启用它们,也可以在命令行--ExecutePreprocessor.enabled=True
中将其余的命令照常启用。
该--ExecutePreprocessor.enabled=True
具有方便--execute
,可以在最新版本NbConvert的所使用的别名。--inplace
如果需要,可以将其与
例如,无头运行笔记本后转换为html:
$ jupyter nbconvert --to=html --execute RunMe.ipynb
剥离输出后转换为PDF
$ ipython nbconvert --to=pdf --ClearOutputPreprocessor.enabled=True RunMe.ipynb
<insert-your-language-here>
如果您设置了,则(当然)通过生成内核可用于非Python内核--profile=<your fav profile>
。转换可能真的很长,因为它需要重新运行笔记本。您可以使用该--to=notebook
选项进行笔记本到笔记本的转换。
根据使用情况,可能需要设置/取消设置其他各种选项(超时,允许错误等)。请参阅文件,当然jupyter nbconvert --help
,--help-all
或nbconvert在线文档获取更多信息。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句