问题:我想通过 Jupyter API 从另一个应用程序与 Jupyter 交互,特别是我想至少从该应用程序运行我的笔记本(对我来说完美的变体是在运行它之前编辑一些段落)。我已经阅读了 API 文档,但没有找到我需要的内容。
为此,我使用了具有相同结构(笔记本和段落)的 Apache Zeppelin 。
有人将 Jupyter 用于我刚才描述的目的吗?
原文由 Alexander Yakovlev 发布,翻译遵循 CC BY-SA 4.0 许可协议
问题:我想通过 Jupyter API 从另一个应用程序与 Jupyter 交互,特别是我想至少从该应用程序运行我的笔记本(对我来说完美的变体是在运行它之前编辑一些段落)。我已经阅读了 API 文档,但没有找到我需要的内容。
为此,我使用了具有相同结构(笔记本和段落)的 Apache Zeppelin 。
有人将 Jupyter 用于我刚才描述的目的吗?
原文由 Alexander Yakovlev 发布,翻译遵循 CC BY-SA 4.0 许可协议
通过@vladmihaisima 扩展代码
from websocket import create_connection, WebSocketTimeoutException
while msg_type != "stream":
try:
rsp = json.loads(ws.recv())
print(rsp["msg_type"])
print(rsp)
msg_type = rsp["msg_type"]
if msg_type == "error":
raise Exception(rsp['content']['traceback'][0])
except WebSocketTimeoutException as _e:
print("No output")
return
原文由 muTheTechie 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5.3k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
4 回答1.5k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
2 回答951 阅读✓ 已解决
1 回答1.8k 阅读✓ 已解决
忽略使用 Jupyter API 是否是问题的最佳解决方案(问题中未明确描述),下面的代码执行您所要求的:它将通过 http 远程执行 Jupyter notebook 并获得一些结果。它不是生产就绪的,它更像是一个如何完成的例子。没有用产生大量输出的单元测试它——认为它需要调整。
您还可以通过更改代码数组以编程方式更改/编辑代码。
您需要根据您的配置更改 notebook_path、base 和 headers,有关详细信息,请参阅代码。
制作此代码所基于的有用链接(如果您想了解更多信息,我建议您阅读):
请注意,还有 https://jupyter-client.readthedocs.io/en/stable/index.html ,但据我所知它不支持 HTTP 作为传输方式。
作为参考,这适用于 notebook-5.7.4,不确定其他版本。