Ipython Webserver starten und Objekte Übergeben

Probleme bei der Installation?
Antworten
Denn1s
User
Beiträge: 17
Registriert: Mittwoch 8. Januar 2014, 14:08

Hallo zusammen,

ich habe folgende "kleine Herausforderungen". Ich habe eine python Anwendung die über eine Gui verfügt.

Die Gui würde ich gern "erweitern", so dass man per IPython direkt auf die Objekte zugreifen kann, auf die auch die Gui zugreift. (Von der Gui getrennt ist es kein Problem)

Bzw. folgende Herausforderung:

Ist es möglich ein IPython Server bzw. Notebook zu öffnen / starten, so dass man auf ein Objekt: z.B. pandas.Dataframe an den Server direkt übergibt ? Bzw. Irgendwie auf den entsprechenden Python Prozess verweist oder sonstiges.. ?

Hoffe die Frage ist klar formuliert, ansonsten bitte einfach Fragen ich gehe auch gern ins Detail.

Im Grunde will ich eine Art "Konsole" für die Gui, die dann aber über Ipython funktioniert und die auch in der Lage ist die tatsächlichen Objekte zu manipulieren.

Bin gespannt auf euere Antworten.

Viele Dank im Vorraus.

Grüße,
Denn1s
Benutzeravatar
MagBen
User
Beiträge: 799
Registriert: Freitag 6. Juni 2014, 05:56
Wohnort: Bremen
Kontaktdaten:

Du müsstest den Default-Kernel von IPython durch einen eigenen Kernel ersetzen, der die Objekte Deiner GUI dann kennen soll. Im Buch "IPython Interactive Computing and Visualization Cookbook" von Cyrille Rossant wird schon ganz zu Anfang (S. 39) auf 5 Seiten beschrieben, wie man seine eigene Kernel Klasse von IPython.kernel.zmq.kernelbase.Kernel ableiten kann und wie man ein Notebook dazu bringt, diesen eigenen Kernel auch zu benutzen.
a fool with a tool is still a fool, www.magben.de, YouTube
Denn1s
User
Beiträge: 17
Registriert: Mittwoch 8. Januar 2014, 14:08

Wow hätte nicht gedacht, dass es so einfach geht. Sehr schön. Ich guck es mir an, das klingt sehr vielversprechend. Besten Dank!
Denn1s
User
Beiträge: 17
Registriert: Mittwoch 8. Januar 2014, 14:08

Hallo,

habe es nochmal ausprobiert und habe es hinbekommen den developement Ipython kernel zum laufen zu bringen.

Was haben wollte geht aber ganz einfach mit dem dem Befehl:

Code: Alles auswählen

import IPython 
var = SomeClass()
IPython.embed_kernel()
Nun kann man mit dem Befehl "ipython qtconsole --existing" die qt-Konsole öffnen und var untersuchen usw.

Ist es an dieser Stelle eigentlich auch möglich den Ipython-Notebook zu öffnen?
Das hat bei mir leider nicht geklappt!

Danke viele Grüße und ein schönes Fest!
Antworten