Wie bette ich eine IPython Interpreter in eine Anwendung, die in einem IPython Qt Konsole
Gibt es ein paar Themen dazu, aber keines mit einer zufriedenstellenden Antwort.
Habe ich ein python-Anwendung, die in eine IPython qt Konsole
http://ipython.org/ipython-doc/dev/interactive/qtconsole.html
Wenn ich ein Fehler auftreten, würde ich mag, um in der Lage zu interagieren mit dem code an dieser Stelle.
try:
raise Exception()
except Exception as e:
try: # use exception trick to pick up the current frame
raise None
except:
frame = sys.exc_info()[2].tb_frame.f_back
namespace = frame.f_globals.copy()
namespace.update(frame.f_locals)
import IPython
IPython.embed_kernel(local_ns=namespace)
Ich würde denken, das würde funktionieren, aber ich bekomme eine Fehlermeldung:
Absturz mit Laufzeitfehler: threads können nur einmal gestartet werden
- Für diejenigen, die auf diese Frage nun, sehen Sie bitte: stackoverflow.com/questions/4234612/.... (Es gibt einen offiziell unterstützten Weg, dies zu tun, von IPython.)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe gerade diesen:
funktioniert besser als alles andere für mich 🙂
Können Sie Folgen das folgende Rezept einbetten, eine IPython-Sitzung in Ihrem Programm:
Dann verwenden
ipshell()
Wann immer Sie wollen gelöscht werden, in ein IPython-shell. Dies ermöglicht es Ihnen, einbetten (und auch nest) IPython Dolmetscher in Ihrem code und untersuchen Sie die Objekte oder den Status des Programms.