我正在部署一个Python包,我想运行一个简单的测试,看看我的笔记本中的所有单元格是否都能正常运行。我想通过命令行对此进行测试,因为我在virtualenv
中运行笔记本时遇到问题。是否有简单的命令行方式来测试它?
主持人注意:此问题已被标记为How to run an .ipynb Jupyter Notebook from terminal? 的副本。然而,这个问题是在那个问题的前几天(2016年2月18日2:49提出)(2016年2月22日3:35问)。最多,该帖子可能被标记为重复,如果这样做,则适当的行动将是merge the two questions, maintaining this, the original, as the master。
但是,这些问题可能不会重复(其他作者的意图不清楚)。无论如何,这个问题及其答案专门解决了在终端的jupyter笔记本中执行单元格,而不仅仅是将笔记本转换为python文件。
答案 0 :(得分:57)
nbconvert
(笔记本转换的jupyter工具)允许您在没有任何额外包的情况下执行此操作:
只需转到您的终端并输入
即可$ jupyter nbconvert --to notebook --inplace --execute mynotebook.ipynb
(感谢Stephan建议--inplace
标志)
答案 1 :(得分:26)
您可以使用runipy执行此操作。
runipy
将运行笔记本中的所有单元格。如果发生错误,则该过程将停止。
$ pip install runipy
$ runipy MyNotebook.ipynb
还有用于将输出文件保存为笔记本或html报告的命令:
$ runipy MyNotebook.ipynb OutputNotebook.ipynb
$ runipy MyNotebook.ipynb --html report.html
答案 2 :(得分:1)
您还可以尝试使用papermill,它可以让您从命令行执行笔记本,还可以传递参数:
例如:
$ papermill mynotebook.ipynb mynotebook_output.ipynb -p start "2017-11-01" -p end "2017-11-30"
您也可以在不传递任何参数的情况下运行它。