使用 Qt 控制台连接到现有的 IPython 内核#
前端/内核模型#
传统的 IPython (ipython
) 包含一个单一进程,该进程将基于终端的 UI 与运行用户代码的进程结合在一起。
虽然这个传统应用程序仍然存在,但现代 Jupyter 包含两个进程
内核:这是运行用户代码的进程。
前端:这是提供用户界面的进程,用户在其中键入代码并查看结果。
Jupyter 目前有 3 个前端
终端控制台 (
jupyter console
)Qt 控制台 (
jupyter qtconsole
)Notebook (
jupyter notebook
)
内核和前端通过基于 ZeroMQ/JSON 的消息协议进行通信,该协议允许多个前端(即使是不同类型的)与单个内核进行通信。这为各种有趣的事情打开了大门,例如将控制台或 Qt 控制台连接到 Notebook 的内核。例如,您可能希望将 Qt 控制台连接到 Notebook 的内核,并将其用作帮助浏览器,在 Qt 控制台中对对象调用 ??
(其分页器比笔记本中的分页器更灵活)。
本 Notebook 描述了如何将另一个前端连接到与 Notebook 关联的 IPython 内核。此处提供的命令目前特定于 IPython 内核。
手动连接#
要手动将另一个前端连接到内核,您首先需要使用 %connect_info
魔术找到内核的连接信息
[ ]:
%connect_info
您可以看到,此魔术显示了连接到此 Notebook 的内核所需的一切。
使用新的 Qt 控制台自动连接#
您还可以使用 %qtconsole
魔术启动连接到当前内核的新 Qt 控制台。这将自动检测必要的连接信息并为您启动 Qt 控制台。
[ ]:
a = 10
[ ]:
%qtconsole