Có một vài chủ đề về điều này, nhưng không có chủ đề nào có câu trả lời thỏa đáng.Làm cách nào để nhúng Trình thông dịch IPython vào một ứng dụng đang chạy trong Bàn điều khiển Qt IPython
Tôi có một ứng dụng python chạy trong một IPython console qt
http://ipython.org/ipython-doc/dev/interactive/qtconsole.html
Khi tôi gặp phải một lỗi, tôi muốn để có thể tương tác với mã tại điểm đó.
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)
Tôi nghĩ rằng điều này sẽ làm việc, nhưng tôi nhận được một lỗi:
RuntimeError: đề chỉ có thể được bắt đầu một lần
Tôi thích sử dụng này để khám phá các dự án mới. Tôi đã tạo một bit.ly URL j.mp/ipshell mà tôi có thể cuộn tròn vào mã của mình. Nó trỏ đến https://gist.github.com/RichardBronosky/570492 –