python - 在 ipython 控制台中调试魔术功能

标签 python python-3.x ipython pdb jupyter-console

我有一个名为 foo.py 的文件。在该文件中,我有一堆函数,我想通过设置断点而不是使用 set_trace 对其进行硬编码来调试其中一个名为 foo.bar 的函数。我在 IPython 控制台中工作,我知道有一个 %debug 魔法函数可以用于此目的,语法如下:

%debug [--breakpoint FILE:LINE]

所以我试试

%debug --breakpoint foo.py:10

在第 10 行设置断点。但是,我如何实际执行代码以便 IPython 识别断点?做

import foo
foo.bar()

不起作用,因为只是跳过了断点。

最佳答案

实现方式:

from foo import bar
%debug --breakpoint /path/to/foo.py:10 bar()

这会将 bar 导入命名空间并使用模块第 10 行的断点运行它。

关于python - 在 ipython 控制台中调试魔术功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51565847/

相关文章:

python - IPython 导入错误 : cannot import name Layout

python - 在运行管道之前提交 Dataflow 作业时可以运行设置脚本吗?

python - 如何在 Python 中从多个列表创建字典

ipython - %precision 不尊重 IPython

python-3.x - Python KafkaConsumer 从时间戳开始消费消息

python - 如何删除网格布局小部件内的所有小部件并以相同的顺序重新创建所有小部件

python - 如何将IPython shell嵌入到使用curses模块的Python程序中?

python - 如何找到用户输入的数字之间的数字?

python - 将行写入文件的正确方法?

python - 使用 pandas 中现有数据框的 group 的简单组合创建 df