关于python:我可以在命令行中运行Jupyter笔记本电脑吗?

Can I run Jupyter notebook cells in commandline?

我正在部署一个Python包,我想运行一个简单的测试,看看我的笔记本中的所有单元格是否都能正常运行。 我想通过命令行对此进行测试,因为我在virtualenv中运行笔记本时遇到问题。 是否有简单的命令行方式来测试这个?

主持人注意:这个问题已被标记为如何从终端运行.ipynb Jupyter Notebook?
。 然而,这个问题是在那个问题的前几天(2016年2月18日2:49提出)(2016年2月22日3:35问)。 最多,该帖子可能被标记为重复,如果这样做,一个适当的行动将是合并这两个问题,保持这个,原始的,作为主。

但是,这些问题可能不重复(另一位作者的意图不清楚)。 无论如何,这个问题及其答案专门针对来自终端的jupyter笔记本中的执行单元,而不仅仅是将笔记本转换为python文件。


nbconvert(用于笔记本转换的jupyter工具)允许您在没有任何额外包的情况下执行此操作:

只需转到您的终端并输入

$ jupyter nbconvert --to notebook --inplace --execute mynotebook.ipynb

资源

(感谢Stephan建议--inplace标志)


您可以使用runipy来执行此操作。

runipy将运行笔记本中的所有单元格。 如果发生错误,则该过程将停止。

$ pip install runipy

$ runipy MyNotebook.ipynb

还有用于将输出文件保存为笔记本或html报告的命令:

$ runipy MyNotebook.ipynb OutputNotebook.ipynb

$ runipy MyNotebook.ipynb --html report.html


您还可以尝试papermill,它允许您从命令行执行笔记本,并传递参数:

例如:

1
$ papermill mynotebook.ipynb mynotebook_output.ipynb -p start"2017-11-01" -p end"2017-11-30"

您也可以在不传递任何参数的情况下运行它。