调试用户代码时,我想进入已安装的依赖项的代码,例如使用pip install -e path/to/package
。
我试图在项目中找到一个列出依赖项的地方,并且可以浏览该地方以打开源文件进行调试(例如,可以在PyCharm中通过“外部库”部分进行此操作)。
我想进入并通过依赖项代码,但找不到解决方法。
内置调试配置应该可以实现。据我所知,唯一不可能的是Python依赖项是C代码(例如OpenCV,pygame),因为它们存储为.so文件而不是Python文件。
假设我具有以下结构:
main
└── test.py
pkgs
└── mypkg
├── __init__.py
├── moduleA.py
└── setup.py
我是mypkg
根据Python文档中的Packaging Python Projects示例创建的。然后,使用您提到的相同命令将其安装在我的环境中:
pip install -e /path/to/mypkg
在test.py我有这个:
import moduleA
moduleA.add_two_num(1, 2)
首先,请确保将VSCode解释器设置为使用与安装时相同的env mypkg
。请参阅VSCode文档中的选择并激活环境。
接下来,为test.py创建调试配置:
{
"name": "test",
"type": "python",
"request": "launch",
"cwd": "${workspaceFolder}",
"program": "/path/to/test.py",
"pythonPath": "/path/to/.virtualenvs/test-py37/bin/python",
"console": "integratedTerminal",
}
在这里再次重要的pythonpath
一点是要指向python
安装位置mypkg
。在这里,我使用了一个名为的virtualenv test-py37
。
现在,在外部包的行上设置一个断点:
然后启动调试器(F5在“调试”面板中按或选择它,然后按“播放”按钮)。当调试器在断点处停止时:
只需按“跳入”按钮(或F11),“ VS代码”将带您进入外部依赖项的代码。您也可以直接在VS Code上打开文件,然后在其上放置断点。在编辑器上打开它之后,下次调试时,它将在这些断点处停止。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句