我可以在命令行中 运行 Jupyter 笔记本单元吗?
Can I run Jupyter notebook cells in commandline?
我正在部署一个 Python 包,我想 运行 一个简单的测试,看看我的笔记本中的所有单元格是否 运行 没有错误。我想通过命令行对此进行测试,因为我在 运行 在 virtualenv
中使用笔记本时遇到问题。有没有简单的命令行方式来测试这个?
主持人注意:此问题已被标记为 How to 运行 an .ipynb Jupyter Notebook from terminal? 的副本?
。但是,这个问题是 posted(2016 年 2 月 18 日在 2:49 提出的)几天前(2016 年 2 月 22 日在 3:35 提出)。至多,post 可能会被标记为重复项,如果被认为是重复项,适当的操作将是 merge the two questions, maintaining this, the original, as the master。
但是,这些问题可能不会重复(其他作者的意图不清楚)。无论如何,这个问题及其答案专门针对 从终端 执行 jupyter 笔记本中的单元格,而不是简单地将笔记本转换为 python 文件。
您可以使用 runipy 来执行此操作。
runipy
将 运行 笔记本中的所有单元格。如果发生错误,进程将停止。
$ pip install runipy
$ runipy MyNotebook.ipynb
还有将输出文件保存为笔记本或 html 报告的命令:
$ runipy MyNotebook.ipynb OutputNotebook.ipynb
$ runipy MyNotebook.ipynb --html report.html
nbconvert
(用于笔记本转换的 jupyter 工具)允许您在没有任何额外包的情况下执行此操作:
只需转到您的终端并输入
$ jupyter nbconvert --to notebook --inplace --execute mynotebook.ipynb
(感谢 Stephan 建议使用 --inplace
标志)
注意:就是说,我会尝试将您需要的所有内容转换为适当的脚本。 Jupyter notebooks 被认为是用于探索和共享结果,而不是作为传统程序的替代品。
您也可以尝试 papermill,它允许您从命令行执行笔记本,并传递参数:
例如:
$ papermill mynotebook.ipynb mynotebook_output.ipynb -p start "2017-11-01" -p end "2017-11-30"
你也可以运行它而不传递任何参数。
我正在部署一个 Python 包,我想 运行 一个简单的测试,看看我的笔记本中的所有单元格是否 运行 没有错误。我想通过命令行对此进行测试,因为我在 运行 在 virtualenv
中使用笔记本时遇到问题。有没有简单的命令行方式来测试这个?
主持人注意:此问题已被标记为 How to 运行 an .ipynb Jupyter Notebook from terminal? 的副本? 。但是,这个问题是 posted(2016 年 2 月 18 日在 2:49 提出的)几天前(2016 年 2 月 22 日在 3:35 提出)。至多,post 可能会被标记为重复项,如果被认为是重复项,适当的操作将是 merge the two questions, maintaining this, the original, as the master。
但是,这些问题可能不会重复(其他作者的意图不清楚)。无论如何,这个问题及其答案专门针对 从终端 执行 jupyter 笔记本中的单元格,而不是简单地将笔记本转换为 python 文件。
您可以使用 runipy 来执行此操作。
runipy
将 运行 笔记本中的所有单元格。如果发生错误,进程将停止。
$ pip install runipy
$ runipy MyNotebook.ipynb
还有将输出文件保存为笔记本或 html 报告的命令:
$ runipy MyNotebook.ipynb OutputNotebook.ipynb
$ runipy MyNotebook.ipynb --html report.html
nbconvert
(用于笔记本转换的 jupyter 工具)允许您在没有任何额外包的情况下执行此操作:
只需转到您的终端并输入
$ jupyter nbconvert --to notebook --inplace --execute mynotebook.ipynb
(感谢 Stephan 建议使用 --inplace
标志)
注意:就是说,我会尝试将您需要的所有内容转换为适当的脚本。 Jupyter notebooks 被认为是用于探索和共享结果,而不是作为传统程序的替代品。
您也可以尝试 papermill,它允许您从命令行执行笔记本,并传递参数:
例如:
$ papermill mynotebook.ipynb mynotebook_output.ipynb -p start "2017-11-01" -p end "2017-11-30"
你也可以运行它而不传递任何参数。