gpt4 book ai didi

python - 如何启动 IPython 内核并使用 ZMQ 套接字进行连接?

转载 作者:搜寻专家 更新时间:2023-10-31 02:15:08 25 4
gpt4 key购买 nike

我正在使用 C++ (Qt) 开发 IPython 的前端。

我设法将 Python 嵌入到我的应用程序中,并检索了绘图并将它们显示在我的 GUI 中。现在我想启动一个 IPython 内核并通过 ZMQ 套接字连接到它。

我找到了一个 description用于与 IPython 内核的通信协议(protocol)。但是,它没有说明要连接到哪些任何地方端口。所以拥有一个通信协议(protocol)是件好事和花花公子,但如果我不知道要使用哪个端口,那就完全没用了。

文档提到“内核规范”并告诉我使用 jupyter kernelspec list 命令。这确实显示了一个目录,其中只包含两个文件:logo-32x32.png 和 logo-64x64.png ...

如何找到我需要连接的端口,以便与我的 IPython 内核通信?

我通过从我的 C++ Qt 应用程序运行以下 Python 代码来启动我的 IPython 内核:

import IPython
IPython.start_kernel(argv=[])

最佳答案

事实证明 Thomas K 是对的。在不同进程中启动 IPython/Jupyter 内核的正确方法是:(以 python3 为例)

import jupyter_client
kernel_manager, kernel_client = jupyter_client.start_new_kernel(kernel_name='python3')

当我最初尝试这个时,我遇到了权限错误。这是通过安装 python3 内核规范修复的(显然 Jupyter 不会自动执行此操作...):

python3 -m ipykernel install --user

然后你可以通过以下方式获取端口

print(kernel_manager.get_connection_info())

应该可以使用这些端口通过 zero-mq 连接到内核。但是,kernel_client 公开了一些与内核通信的方法,因此使用该方法可能更容易...

关于python - 如何启动 IPython 内核并使用 ZMQ 套接字进行连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39055839/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com