在 vscode/jupyter 中调试外部模块代码

Debugging external module code in vscode/ jupyter

我想检查我导入的(已安装 pip)模块(如果相关则称为转换器)中的代码。所以现在我正在做的是将 breakpoint() 放在 site_package 位置的相关位置并在 test.py.

中调用模块
from transformers import AutoModel, AutoTokenizer, EncoderDecoderModel

但是,理想情况下,我希望在检查代码时即时设置和删除断点,就像我通常可以使用我编写的 python 模块一样。想知道外部库是否有类似的东西。

备用解决方案

如果我能在需要它的地方即时编写 breakpoint(),我同样会很高兴。我曾经通过添加以下两行来使用 Jupyter 和我自己的模块来执行此操作:

%load_ext autoreload
%autoreload 2

但是,当我添加新断点时,这对外部库不起作用。

使用 IDE 例如 PyCharm 或 Visual Studio 代码。

我使用 Jetbrains CLion,它允许我通过右键单击 -> 转到 -> 声明或用法来查看外部库代码。

看到这个answer

要执行断点() 函数,您必须修改外部库代码。

如前所述here,您不应该修改外部库代码。或者,使用 IDE,您可以通过单击要放置断点的行来放置断点。

但如果您仍想编辑代码,则应使用 -e option.

安装模块

您可以在 launch.json 文件中添加 "justMyCode": false,,因为它的默认值为 true。

详情可参考here