【发布时间】:2013-02-16 12:18:48
【问题描述】:
这方面有几个话题,但没有一个给出令人满意的答案。
我有一个在 IPython qt 控制台中运行的 python 应用程序
http://ipython.org/ipython-doc/dev/interactive/qtconsole.html
当我遇到错误时,我希望能够在那时与代码进行交互。
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)
我认为这会起作用,但我收到一个错误:
RuntimeError: 线程只能启动一次
【问题讨论】:
-
对于现在提出这个问题的人,请参阅:stackoverflow.com/questions/4234612/…。 (IPython 提供了一种官方支持的方法。)
标签: python-2.7 ipython qtconsole