【问题标题】:nbconvert Execute Jupyter notebook from Command Line output resultsnbconvert 从命令行输出结果执行 Jupyter notebook
【发布时间】:2016-10-21 18:30:55
【问题描述】:

这个问题以前一定有人问过,但我找不到正确的答案。我想从命令行运行 Jupyter 笔记本并将结果保存到某些文件中。

我已经开始运行了,

jupyter nbconvert --to python --execute mynotebook.ipynb >> mylog.out.log 2>&1

该命令正确执行了mynotebook.ipynb,但在日志文件中,如果执行成功则只包含3行。

[NbConvertApp] Converting notebook mynotebook.ipynb to python
[NbConvertApp] Executing notebook with kernel: python2
[NbConvertApp] Writing 1931 bytes to mynotebook.ipynb.py

如果笔记本出现异常,它也会在日志文件中显示异常。但是我在哪里可以看到 notebook 的结果呢?

例如,在我的笔记本中,我有

print 'hello world'

此输出未显示在我的命令行界面或日志文件中。是否有一种方法或参数设置可以将输出保存到日志文件中?我想看看 mynotebook.ipynb 的详细结果。

有什么想法吗?或任何其他比 jupyter nbconvert 更好的方法?


另外,是否可以将日期时间包含在日志文件中?把时间包括在内会很有帮助。

【问题讨论】:

  • 你试过没有“--to python”吗?
  • @nitind 是的,我做到了。如果没有'--to python',执行会将ipynb转换为html文件(我相信html是默认的)。
  • --execute 的输出进入笔记本。但是如果将其转换为.py 脚本文件,则不包括输出,因此它刚刚生成的输出将再次被丢弃。转换为 html 或 notebook 等格式将包含输出。我认为没有将输出发送到标准输出的选项,但是如果您查看代码,应该不难将一些东西组合在一起。
  • @ThomasK 谢谢。你说的对。我尝试了标准输出到 python,但没有输出。如果我使用 html 或笔记本,如果将包含输出。即使整个输出文件将包含转换后的代码而不是纯结果,它现在对我有用。谢谢。

标签: jupyter jupyter-notebook


【解决方案1】:

您可以尝试 --stdout 并且您必须转换为 html 之类的内容才能查看例如输出

jupyter nbconvert --to html mynotebook.ipynb --stdout --ExecutePreprocessor.kernel_name=python --ExecutePreprocessor.enabled=True

【讨论】:

  • 谢谢。只要输出结果为 html 文件, --stdout 选项就可以输出转换后的代码。即使它不是完全干净的,至少可以将输出保存到某个文件中。非常感谢。
  • 我不太喜欢这个答案,因为我的消息很少,代码很多。 Convertig 是一团糟。
猜你喜欢
  • 2019-07-13
  • 2019-08-20
  • 1970-01-01
  • 1970-01-01
  • 2018-12-12
  • 2016-12-06
  • 2020-01-02
  • 2018-09-30
相关资源
最近更新 更多