使用ipdb和Tracer调试Jupyter Notebook

jos*_*shf 5 python debugging ipython ipdb jupyter-notebook

在Jupyter Notebook中使用调试器时,我一直遇到问题,特别是以下命令:

from IPython.core.debugger import Tracer
Tracer()() #this one triggers the debugger
Run Code Online (Sandbox Code Playgroud)

每当我使用Tracer()()时,内联调试器就会按预期显示,但是一旦在字段中输入任何命令:n(ext),s(tep)等,我就会跳到该行:

finally:
  # Reset our crash handler in place
  sys.excepthook = old_excepthook
Run Code Online (Sandbox Code Playgroud)

这是问题和尝试调试的代码的图像(确切的代码无关,因为我能够在其他笔记本上重现该问题)。

Jupyter Notebook Tracer()()输出

我正在Mac上运行OSX El Capitan,并使用Anaconda for python 2.7。这是有关通过运行获得的当前设置的一些详细信息:

conda info --all (from root env)
Run Code Online (Sandbox Code Playgroud)

系统信息通过:conda info --all from(root)env

注意,我尝试了几种不同的调试选项:pdb,ipdb和Tracer(),但是每个选项都遇到了单独的问题。根据Stackoverflow问题(使用ipdb调试Jupyter中的Python代码),此时 Tracer()似乎是标准选项。

此外,我已经能够在运行Windows 7的Dell计算机上复制此问题。

任何帮助将不胜感激!