これにはいくつかのトピックがありますが、満足のいく答えはありません。
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: スレッドは一度しか開始できません