首页 > 解决方案 > 在 vscode/jupyter 中调试外部模块代码

问题描述

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

from transformers import AutoModel, AutoTokenizer, EncoderDecoderModel

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

替代解决方案

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

%load_ext autoreload
%autoreload 2

但是,当我添加新断点时,这不适用于外部库。

标签: pythondebuggingvisual-studio-codejupyter-notebookvisual-studio-debugging

解决方案


使用 IDE,例如 PyCharm 或 Visual Studio Code。

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

看到这个答案

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

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

但如果您仍想编辑代码,则应使用-e 选项安装模块。


推荐阅读