Python 如何从终端运行.ipynb Jupyter笔记本?
我在一个.ipynb文件中有一些代码,我已经不需要IPython笔记本的“交互式”功能了。我想直接从Mac终端命令行运行它Python 如何从终端运行.ipynb Jupyter笔记本?,python,jupyter-notebook,ipython,nbconvert,Python,Jupyter Notebook,Ipython,Nbconvert,我在一个.ipynb文件中有一些代码,我已经不需要IPython笔记本的“交互式”功能了。我想直接从Mac终端命令行运行它 基本上,如果这只是一个.py文件,我相信我可以从命令行执行python filename.py。.ipynb文件是否有类似的功能?您可以从.ipynb导出所有代码,并将其另存为.py脚本。然后可以在终端中运行脚本 希望有帮助。通过命令行,您可以使用以下命令将笔记本转换为python: jupyter nbconvert --to python nb.ipynb 您可能
基本上,如果这只是一个.py文件,我相信我可以从命令行执行python filename.py。.ipynb文件是否有类似的功能?您可以从
.ipynb
导出所有代码,并将其另存为.py
脚本。然后可以在终端中运行脚本
希望有帮助。通过命令行,您可以使用以下命令将笔记本转换为python:
jupyter nbconvert --to python nb.ipynb
您可能必须安装python软件包:
nbconvert允许您使用
--execute
标志运行笔记本电脑:
jupyter nbconvert --execute <notebook>
或者,如果要用新输出替换现有笔记本:
jupyter nbconvert --execute --to notebook --inplace <notebook>
jupyter nbconvert--执行--到笔记本--就地
由于该命令非常长,因此可以使用别名:
alias nbx="jupyter nbconvert --execute --to notebook"
nbx [--inplace] <notebook>
alias nbx=“jupyter nbconvert--execute--to notebook”
nbx[--就地]
更新作者引用的评论以提高可视性:
作者的注释“这个项目是在Juyter的执行API开始的,这是现在推荐的方法,从命令行运行笔记本。考虑水果挞和不维护。”——Sebastian Palma < /P> 安装允许在终端上运行代码的runipy库
pip install runipy
在编译代码之后:
runipy <YourNotebookName>.ipynb
runipy.ipynb
你也可以试试cronjob。所有信息都是新版本的,而不是:
ipython nbconvert --to python <YourNotebook>.ipynb
ipython nbconvert——到python.ipynb
您可以使用ipython的jupyter instend:
jupyter nbconvert --to python <YourNotebook>.ipynb
jupyter nbconvert——到python.ipynb
就我而言,最适合我的命令是:
jupyter nbconvert --execute --clear-output <notebook>.ipynb
--净输出
清除当前文件的输出并就地保存,覆盖现有笔记本
在终端运行ipython时:
ipython
然后找到脚本并放在那里:
%run your_script.ipynb
您还可以使用
boar
包在python代码中运行笔记本
从boar.running导入运行\u笔记本
输出=运行笔记本(“nb.ipynb”)
如果更新笔记本,就不必再次将其转换为python文件
更多信息,请访问: 从终端运行
jupyter nbconvert --execute --to notebook --inplace --allow-errors --ExecutePreprocessor.timeout=-1 my_nb.ipynb
默认超时为30秒-1取消了限制
如果您希望将输出笔记本保存到新笔记本,您可以使用标志
--output my_new\u nb.ipynb
我遇到了相同的问题,我发现了。与其他解决方案相比的优势在于,您可以在笔记本运行时看到结果。我发现这个功能很有趣,因为笔记本需要很长时间。它非常容易使用:
pip install papermill
papermill notebook.ipynb output.ipynb
它还有其他方便的选项,如将输出文件保存到Amazon S3、Google Cloud等。有关更多信息,请参见页面。使用ipython:
ipython--TerminalIPythonApp.file_to_run=.ipynb
通常,我更喜欢这个选项,因为它确实是自我描述的。如果希望使用较少的字符,请使用:
ipython-c“%run.ipynb”
这基本上是已经建议的(不幸的是有点隐藏)类似于这样的东西:?子命令
ipython nbconvert
不赞成jupyter nbconvert,我认为这个答案不正确。我意识到它可以工作,但问题是如何从终端运行.ipynb,而不是如何将其转换为.py然后运行。如果任何单元运行时间超过30秒,Nbconvert将失败,您可能需要添加--executeProcessor.timeout=600
。最新的更新使其工作如下,你可以从笔记本文件中获得一个HTML。代码> Juyter NB皈ie-用03个字符串执行\打印\ \ \字符串。IPYNB作者的注释:“这个项目是在Juyter的执行API之前启动的,API现在是从命令行运行笔记本的推荐方法。这会将笔记本变成一个静态HTML页面文档,或者可以在中找到运行笔记本的这种编程方式。是否有方法指定要执行的单元格?例如,单元格10和以下所有单元格,或单元格10到单元格20的范围。此外,如果您有长时间运行的单元格,--executeProcessor.timeout=[timeout\u in\u seconds]
(使用-1
无限制)。最新的更新使其工作方式如下,您从笔记本文件jupyter nbconvert--execute 03 Print\Formatting\with\Strings中获得一个HTML。ipynb
没有回答原始问题这是如何回答这个问题的?如何将其放入shell中script@baxxipython-c”%runyour_script.ipynb“
你能用这个做一个生成文件吗?伙计们,承认吧,如果没有这个答案,您将找不到注释,那么为什么不同时进行投票呢?:)我还想补充一点,指定笔记本的绝对路径是谨慎的(如果ipython
不是“运行链”的唯一部分,它可以为您节省大量搜索时间(在我的例子中,ipython
在从Kubernetes CronJob运行的bash脚本中,如果没有笔记本的完整绝对路径,它将失败)。
%run your_script.ipynb
jupyter nbconvert --execute --to notebook --inplace --allow-errors --ExecutePreprocessor.timeout=-1 my_nb.ipynb
pip install papermill
papermill notebook.ipynb output.ipynb