我有一些要调试的脚本(即不是笔记本)。这里需要检查中间图像,绘制数据并逐步调试代码。
我知道IPython embed_kernel()
,它允许我打开qtconsole并在当前过程中工作以可视化数据和绘图。另外,我知道IPython debubber的set_trace()
,虽然很好,但是可以直接在脚本中运行。
我想将两者混合使用:用set_trace
打开调试器,然后将qtconsole连接到该调试器。理想情况下,我将打开一个或两个窗口(一个终端和qtconsole,或者只是qtconsole):我可以调试器(在qtconsole或终端中)进行调试,并检查qtconsole中的代码。
我尝试使用set_trace()
,然后在调试器中运行embed_kernel()
,但出现类似错误
*** traitlets.config.configurable.MultipleInstanceError:正在创建ZMQInteractiveShell的多个不兼容的子类实例。
但是我不知道该怎么解释,我也不知道我想做的事情是否完全可行。我应该如何进行?
如果没有qtconsole,笔记本也可以(但实际上我不知道如何运行连接到现有内核的笔记本)。
编辑:为了澄清,我正在使用IPython 6.4。