我在一个.ipynb文件中有一些代码,并且我已经不需要IPython Notebook的“交互”特性了。我想直接从Mac终端命令行运行它。
基本上,如果这只是一个.py文件,我相信我可以从命令行执行python filename.py。对于.ipynb文件是否也有类似的东西?
我在一个.ipynb文件中有一些代码,并且我已经不需要IPython Notebook的“交互”特性了。我想直接从Mac终端命令行运行它。
基本上,如果这只是一个.py文件,我相信我可以从命令行执行python filename.py。对于.ipynb文件是否也有类似的东西?
当前回答
对于新版本,而不是:
ipython nbconvert --to python <YourNotebook>.ipynb
你可以用jupyter代替ipython:
jupyter nbconvert --to python <YourNotebook>.ipynb
其他回答
您可以从.ipynb导出所有代码,并将其保存为.py脚本。然后可以在终端中运行脚本。
希望能有所帮助。
你也可以使用jupytext https://jupytext.readthedocs.io/en/latest/index.html。
这可以让你的笔记本配对。所以对于每个ipynb文件,你都有一个。py文件,以及一些注释。.py文件可以照常执行。 你可以享受两个世界的好处,但代价是额外的一个文件。
哦,顺便说一下,如果你使用版本控制,你只能提交带有漂亮diff的.py文件,而不是丑陋的.ipynb diff。
(在.py文件的语法类似于Databricks笔记本,如果你熟悉他们…)
在你的终端运行ipython:
ipython
然后找到你的脚本并放在那里:
%run your_script.ipynb
我也有同样的问题,我找到了造纸厂。相对于其他解决方案的优点是,您可以在笔记本运行时看到结果。当笔记本花费很长时间时,我发现这个功能很有趣。它非常容易使用:
pip install papermill
papermill notebook.ipynb output.ipynb
它还,其他方便的选择输出文件保存到Amazon S3,谷歌云等。有关更多信息,请参阅页面。
在命令行中,你可以使用以下命令将笔记本转换为python:
jupyter nbconvert --to python nb.ipynb
https://github.com/jupyter/nbconvert
你可能需要安装python mistune包:
sudo pip install -U mistune