IPython 笔记本:如何连接到现有内核?
IPython notebook: How to connect to existing kernel?
我可以通过以下方式将两个 ipython console
会话连接到一个内核:
$ ipython console
In [1]: %connect_info
{
... Content of JSON with info for connecting ...
}
Paste the above JSON into a file, and connect with:
$> ipython <app> --existing <file>
or, if you are local, you can connect with just:
$> ipython <app> --existing kernel-43204.json
or even just:
$> ipython <app> --existing
if this is the most recent IPython session you have started.
因此我可以再次用控制台替换 <app>
$ ipython console --existing kernel-43204.json
但是,我想与 ipython notebook 共享我的内核,这样我就可以可视化我的数据。我试过但失败了:
$ ipython notebook --existing kernel-43204.json
[C 13:35:01.025 NotebookApp] Unrecognized flag: '--existing'
有什么建议可以让我在 ipython console
和 ipython notebook
之间工作和切换吗?
没有 UI,也没有 API 对笔记本执行此操作,为简化代码假设笔记本是拥有并启动内核的笔记本。您必须编写自己的 KernelManager
子类并配置 IPython 才能使用它(+ 编写一些 UI 代码,如果您希望它易于使用),以便您能够select 一个已经存在的内核。
下面是允许 Jupyter 笔记本在外部创建内核的自定义内核管理器示例。
https://github.com/ebanner/extipy
这充其量只是一种骇人听闻的解决方案。
Jupyter 人员有望创建这样的自定义内核 class 并将其包含在程序包中并通过简单的现有开关启用它。我看不出有任何理由他们不能这样做。
我反过来给你一个解决方案。您可以轻松地将 ipython 会话连接到由笔记本启动的内核,而不是将笔记本连接到现有内核。
- 启动你的笔记本。现在你有一个 运行ning 内核。
- 在代码单元格中,运行 魔术命令
%qtconsole
现在你有一个控制台和连接到同一个内核的笔记本。您可以 运行 多次使用魔术命令并拥有多个控制台。
顺便说一句,qtconsole 是一个非常智能的控制台。它甚至比终端更好,特别是如果您是 Windows 用户。
我可以通过以下方式将两个 ipython console
会话连接到一个内核:
$ ipython console
In [1]: %connect_info
{
... Content of JSON with info for connecting ...
}
Paste the above JSON into a file, and connect with:
$> ipython <app> --existing <file>
or, if you are local, you can connect with just:
$> ipython <app> --existing kernel-43204.json
or even just:
$> ipython <app> --existing
if this is the most recent IPython session you have started.
因此我可以再次用控制台替换 <app>
$ ipython console --existing kernel-43204.json
但是,我想与 ipython notebook 共享我的内核,这样我就可以可视化我的数据。我试过但失败了:
$ ipython notebook --existing kernel-43204.json
[C 13:35:01.025 NotebookApp] Unrecognized flag: '--existing'
有什么建议可以让我在 ipython console
和 ipython notebook
之间工作和切换吗?
没有 UI,也没有 API 对笔记本执行此操作,为简化代码假设笔记本是拥有并启动内核的笔记本。您必须编写自己的 KernelManager
子类并配置 IPython 才能使用它(+ 编写一些 UI 代码,如果您希望它易于使用),以便您能够select 一个已经存在的内核。
下面是允许 Jupyter 笔记本在外部创建内核的自定义内核管理器示例。
https://github.com/ebanner/extipy
这充其量只是一种骇人听闻的解决方案。
Jupyter 人员有望创建这样的自定义内核 class 并将其包含在程序包中并通过简单的现有开关启用它。我看不出有任何理由他们不能这样做。
我反过来给你一个解决方案。您可以轻松地将 ipython 会话连接到由笔记本启动的内核,而不是将笔记本连接到现有内核。
- 启动你的笔记本。现在你有一个 运行ning 内核。
- 在代码单元格中,运行 魔术命令
%qtconsole
现在你有一个控制台和连接到同一个内核的笔记本。您可以 运行 多次使用魔术命令并拥有多个控制台。
顺便说一句,qtconsole 是一个非常智能的控制台。它甚至比终端更好,特别是如果您是 Windows 用户。