有一些关于这个话题的讨论,但没有一个令人满意的答案。
我有一个在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)
我认为这个代码应该可以运行,但是出现了一个错误:
运行时错误:线程只能启动一次。