如何从Python脚本管理多个IPython/Jupyter内核并与之通信?

tri*_*ta2 6 python ipython ipython-notebook jupyter

我想模仿笔记本服务器的功能,而是从逻辑中心(即我自己的Python脚本)协调不同IPython/Jupyter内核的创建/管理.

例如,我想:

  • 定义一个抽象命令,例如"add(x,y)"
  • 将抽象命令传递给多个内核,例如IPython内核和Scala内核
  • 让每个内核按照自己的意愿执行命令
  • 将结果从每个内核返回到逻辑的中心体

任何人都可以指出我如何以编程方式启动/停止/与多个IPython/Jupyter内核通信?

Tho*_*s K 5

一个KernelManager处理启动和停止单个内核,并且有一个MultiKernelManager来协调多个内核。

然后,您可以使用该.client()方法来获取一个KernelClient实例,该实例处理与内核的通信:

有关如何与内核通信的详细信息,请参阅消息规范文档。其中一些是由KernelClient提取的,但是您可能需要了解其中的一些内容。