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

How to manage and communicate with multiple IPython/Jupyter kernels from a Python script?

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

例如,我想:

任何人都可以指出如何以编程方式 start/stop/communicate 使用多个 IPython/Jupyter 内核的方向吗?

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

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

有关如何与内核通信的详细信息,请参阅 message spec docs。其中一些由 KernelClient 抽象出来,但您可能需要了解其中的一些内容。