我可以在命令行中运行Jupyter笔记本单元吗?

时间:2016-02-18 02:49:22

标签: python command-line ipython jupyter

我正在部署一个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文件。

3 个答案:

答案 0 :(得分:57)

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

只需转到您的终端并输入

即可
  

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

Source

(感谢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"

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