IPython: как подключиться к существующему ядру?
Я могу подключить два сеанса 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, чтобы я мог визуализировать свои данные. Я пробовал и терпел неудачу:
$ ipython notebook --existing kernel-43204.json
[C 13:35:01.025 NotebookApp] Unrecognized flag: '--existing'
Любое предложение, как я могу работать и переключаться между ipython console
и ipython notebook
?
Ответы
Ответ 1
Для этого нет интерфейса пользователя или API для этого, есть предположение о простоте кода, что ноутбук является тем, кто владеет и запускает ядро. Вам нужно будет написать собственный подкласс KernelManager
и настроить IPython для его использования (+ написать немного кода пользовательского интерфейса, если вы хотите, чтобы он был простым в использовании), чтобы вы могли выбрать уже существующее ядро.
Ответ 2
Вот пример настраиваемого менеджера ядра, который позволяет ноутбуку Jupyter создавать ядро, созданное извне.
https://github.com/ebanner/extipy
Это хакерское решение в лучшем случае.
Мы надеемся, что люди Jupyter могут создать такой класс ядра обычного типа, включить его в пакет и включить его с помощью простого существующего ключа. Я не вижу причин, почему они не могут этого сделать.
Ответ 3
Я дам вам решение наоборот. Вместо того, чтобы подключать ноутбук к существующему ядру, вы можете легко подключить сеанс ipython к ядру, которое было запущено ноутбуком.
- Начните свой блокнот. Теперь у вас есть работающее ядро.
- В ячейке кода выполните магическую команду
%qtconsole
Теперь у вас есть консоль и ноутбук, подключенные к одному ядру. Вы можете управлять магией несколько раз и иметь несколько консолей.
Кстати, qtconsole - очень умная консоль. Это даже лучше, чем терминальный, особенно если вы пользователь Windows.