在 Spyder iPython 解释器中抑制 ipdb 输出
Posted
技术标签:
【中文标题】在 Spyder iPython 解释器中抑制 ipdb 输出【英文标题】:Suppressing ipdb output in Spyder iPython interpreter 【发布时间】:2017-11-02 15:16:34 【问题描述】:我有理由相信我的 iPython 解释器导致我的内核死机并重新启动,类似于在 this 链接和 that 链接中记录的问题。
后面的链接表明错误是由于调试器将ipdb
的内容逐步输出到解释器中造成的。一位用户报告说,当他(和我引用)时,行为停止了
在调试模式下运行之前禁用日志记录到控制台
如何在 Spyder IDE/IPython 中“禁用日志记录到控制台”?我真的需要这样做,这样我至少可以逐步完成我的代码......
编辑
我想抑制这种输出
ipdb> > d:\temp\other const models\plaxis\output\plotparfile.py(16)PlotParFile()
14 with open(filename,'r') as fid:
15 lines = fid.readlines()
---> 16 fid.close()
17 #split first line get header and pop it out
18 header = lines[0].split()
> d:\temp\other const models\plaxis\output\plotparfile.py(18)PlotParFile()
16 fid.close()
17 #split first line get header and pop it out
---> 18 header = lines[0].split()
19 lines.pop(0)
20
【问题讨论】:
这是 Spyder 中的一个错误是正确的。为避免这种情况,您需要从代码中删除任何向控制台打印内容的指令。 我的指令都没有在控制台中打印任何内容。我指的是这种输出(请参阅对原始问题的编辑)。这是 ipdb 调试器的自动输出。 【参考方案1】:(这里是 Spyder 开发人员)该输出是自动生成的,其目的是告诉您在调试时将您放在代码中的什么位置。
目前在 Spyder 中没有禁用它的选项。此外,我真的怀疑输出可能是任何内核故障的原因。
【讨论】:
好的,一切都很好。但我想找到一个可以使用 IDE 调试的稳定版本。我尝试在 anaconda 提示符中使用conda install spyder=3.1.3
在第二个链接中指示降级。这降低了我的 spyder 版本,但后来我遇到了 3.1.4 中没有的新错误。例如 1) “无法导入名称 quick_guide”和 2) 变量资源管理器未与 Ipython IDE 同步和 3) IPython 冻结。这让我觉得 Spyder 3.1.3 甚至不如 Spyder 3.1.4 稳定。您对使用 IDE 进行调试有何建议?
您提到的所有错误都将在 Spyder 3.2 中修复,并在两三周内发布。几个月前我们就意识到了它们,但我们不得不做很多工作来修复它们,如here 所示。所以我的建议是让你等到那个版本发布。在此之前给您带来的不便,我们深表歉意。
我们正在努力在 6 月 15 日或最多 6 月 25 日发布它。
嗨@CarlosCordoba!非常感谢你们所做的所有工作!请考虑在未来版本中添加抑制 ipdb 输出的可能性。为了跟踪正在调试的行,我们可以只观察代码中的哪一行被突出显示。谢谢:)
我们正在努力为我们的下一个版本创建更好的调试器。以上是关于在 Spyder iPython 解释器中抑制 ipdb 输出的主要内容,如果未能解决你的问题,请参考以下文章
启动ipython内核发生错误,在Spyder的IPython控制台中启动内核时出现PermissionError
在 Spyder 的 IPython 控制台中启动内核时出现 PermissionError
如何在 Spyder/IPython/matplotlib 中再次获得交互式绘图?