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

pyl*_*ang 38 python command-line ipython jupyter

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


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

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

gee*_*oid 72

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

只需转到您的终端并输入

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

资源

(感谢斯蒂芬建议--inplace国旗)

  • 您也可以使用--inplace标志:`jupyter nbconvert --to notebook --execute --inplace mynotebook.ipynb` (16认同)
  • 如果任何单元格运行时间超过30秒,Nbconvert将失败,您可能需要添加`--ExecutePreprocessor.timeout = 600`. (8认同)
  • 可以在https://nbconvert.readthedocs.io/en/latest/execute_api.html#module-nbconvert.preprocessors中找到运行笔记本的文档或编程方式。 (2认同)

Raj*_*shM 29

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

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

$ pip install runipy

$ runipy MyNotebook.ipynb

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

$ runipy MyNotebook.ipynb OutputNotebook.ipynb

$ runipy MyNotebook.ipynb --html report.html

  • 这个答案是正确的,但是在``nbconvert``命令的最新版本的jupyter中被取代了 (7认同)

Gia*_*omo 14

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

例如:

$ papermill mynotebook.ipynb mynotebook_output.ipynb -p start "2017-11-01" -p end "2017-11-30"
Run Code Online (Sandbox Code Playgroud)

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

  • papermill 有一个很好的控制台用户界面,其中包含执行状态和时间,因此如果您想要一些执行监控,我实际上建议使用它而不是“nbconvert” (2认同)