问题:如何从终端运行.ipynb Jupyter Notebook?
我在.ipynb文件中有一些代码,并且到了我真的不需要IPython Notebook的“交互”功能的地步。我想直接从Mac Terminal命令行运行它。
基本上,如果这只是一个.py文件,我相信我可以从命令行执行python filename.py。.ipynb文件是否存在类似内容?
回答 0
在命令行中,您可以使用以下命令将笔记本转换为python:
jupyter nbconvert --to python nb.ipynb
https://github.com/jupyter/nbconvert
您可能需要安装python mistune软件包:
sudo pip install -U mistune
回答 1
nbconvert允许您运行带有--execute
标志的笔记本:
jupyter nbconvert --execute <notebook>
如果您想运行一个笔记本并生产一个新的笔记本,则可以添加--to notebook
:
jupyter nbconvert --execute --to notebook <notebook>
或者,如果您想用新的输出替换现有的笔记本:
jupyter nbconvert --execute --to notebook --inplace <notebook>
由于这是一个很长的命令,因此可以使用别名:
alias nbx="jupyter nbconvert --execute --to notebook"
nbx [--inplace] <notebook>
回答 2
回答 3
在终端中运行ipython:
ipython
然后找到您的脚本并放在此处:
%run your_script.ipynb
回答 4
对于新版本,而不是:
ipython nbconvert --to python <YourNotebook>.ipynb
您可以使用ipython的jupyter实例:
jupyter nbconvert --to python <YourNotebook>.ipynb
回答 5
更新作者引用的评论,以提高可见度:
作者注释:“该项目在Jupyter的执行API之前启动,现在是从命令行运行笔记本的推荐方式。请考虑弃用不维护runipy的软件。” –塞巴斯蒂安·帕尔马(Sebastian Palma)
安装允许在终端上运行代码的runipy库
pip install runipy
只是编译您的代码后:
runipy <YourNotebookName>.ipynb
您也可以尝试cronjob。所有信息都在这里
回答 6
就我而言,最适合我的命令是:
jupyter nbconvert --execute --clear-output <notebook>.ipynb
为什么?此命令不会创建额外的文件(就像.py
文件一样),并且每次执行Notebook时,单元的输出都会被覆盖。
如果您运行:
jupyter nbconvert --help
–clear-output清除当前文件的输出并保存到位,覆盖现有笔记本。
回答 7
您还可以使用该boar
软件包在python代码中运行笔记本。
from boar.running import run_notebook
outputs = run_notebook("nb.ipynb")
如果更新笔记本,则无需再次将其转换为python文件。
有关更多信息,请访问:
https://github.com/alexandreCameron/boar/blob/master/USAGE.md
回答 8
从终端运行
jupyter nbconvert --execute --to notebook --inplace --allow-errors --ExecutePreprocessor.timeout=-1 my_nb.ipynb
默认超时为30秒。-1消除了限制。
如果您希望将输出笔记本保存到新笔记本中,则可以使用该标志 --output my_new_nb.ipynb
回答 9
我有同样的问题,我找到了造纸厂。与其他解决方案相比的优势在于,您可以在笔记本计算机运行时看到结果。当笔记本电脑花费很长时间时,我发现此功能很有趣。这是非常容易使用:
pip install papermill
papermill notebook.ipynb output.ipynb
它还具有其他方便的选项,例如将输出文件保存到Amazon S3,Google Cloud等。有关更多信息,请参阅页面。