2015-07-13 9 views
6

jestem w stanie połączyć dwa ipython console sesji do jednego jądra przez:IPython notebook: Jak połączyć się z istniejącym jądrem?

$ 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. 

I odpowiednio mogę zastąpić <app> przez konsolę ponownie

$ ipython console --existing kernel-43204.json 

Jednakże chcę podzielić się moją jądro z ipython notesie więc mogę wizualizować moje dane. Próbowałem i nie powiodło się:

$ ipython notebook --existing kernel-43204.json 
[C 13:35:01.025 NotebookApp] Unrecognized flag: '--existing' 

Wszelkie sugestie jak mogę pracować i przełączać się między ipython console i ipython notebook?

+1

Zobacz https://github.com/ipython/ipython/issues/4066. – osa

Odpowiedz

5

Nie ma interfejsu użytkownika ani interfejsu API, aby to zrobić z notebookiem, istnieje założenie dotyczące prostoty kodu, że notebook jest tym, który posiada i uruchamia jądro. Będziesz musiał napisać własną podklasę KernelManager i skonfigurować IPython, aby z niego korzystać (+ napisz trochę kodu UI, jeśli chcesz, aby było łatwe w użyciu), aby móc wybrać już istniejące jądro.

+0

Czy uważasz, że ta nie zaimplementowana funkcja jest sprzeczna z "ideologią" notebooka ipython? ... czy może zostać zachowany, jeśli zostanie wdrożony? – Oplatek

+0

Wątpię, czy zostałby on zachowany, gdyby został wszczepiony, jeśli to zrobisz, istnieje nieodłączne złamanie abstrakcji. Chociaż jest to ograniczona moda, wiem, że byłoby to interesujące dla niektórych osób. – Matt

+0

Tak więc, jeśli rozumiem, notebook dopuszcza wiele instancji jądra (jeden na notebook) i wiele typów jądra (menu Kernel-> Zmień jądro), ale wszystkie jądra muszą zostać zainicjowane z interfejsu HTML. Ponieważ interfejs jądra ZeroMQ ma pewne zabezpieczenia, miałem nadzieję uruchomić jądro tylko na współdzielonym serwerze i dołączyć lokalnie działający notebook do istniejącego jądra. Motywowane przez brak rozwiązania tego [pytanie] (http://stackoverflow.com/questions/32914669/can-an-http-server-listening-on-localhost-be-made-accessible-to-just-one-user) . Jestem przytłoczony krokami, aby skonfigurować HTTPS. – NoahR

Powiązane problemy