gpt4 book ai didi

python - 如何使用 Visual Studio Code 单步执行依赖项代码?

转载 作者:行者123 更新时间:2023-12-01 00:43:40 24 4
gpt4 key购买 nike

在调试用户代码时,我想单步执行已安装的依赖项的代码,例如使用pip install -e path/to/package

我试图在项目中找到一个列出依赖项的位置,并且可以浏览该位置以打开源文件进行调试(例如,这可以在 PyCharm 中通过“外部库”部分实现)。

我想单步进入并通过依赖项代码,但找不到这样做的方法。

最佳答案

使用内置的调试配置应该可以实现。据我所知,唯一不可能的情况是 Python 依赖项是 C 代码(例如 OpenCV、pygame),因为它们存储为 .so 文件而不是 Python 文件。

假设我有这样的结构:

main
└── test.py
pkgs
└── mypkg
├── __init__.py
├── moduleA.py
└── setup.py

我根据Packaging Python Projects创建了mypkg来自 Python 文档的示例。然后我使用您提到的相同命令将其安装在我的环境中:

pip install -e /path/to/mypkg

在 test.py 中我有这个:

import moduleA
moduleA.add_two_num(1, 2)

首先,确保将 VSCode 解释器设置为使用与安装 mypkg 相同的环境。请参阅Select and activate an environment来自 VSCode 文档。

下一步,create a debugging configuration对于测试.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设置为指向安装mypkg的同一个python。这里我使用一个名为 test-py37 的 virtualenv。

现在,在外部包所在行设置断点:

breakpoint

然后启动调试器(按 F5 或从“调试”面板中选择它,然后按“播放”按钮)。当调试器停在断点处时: step-into

只需按步入按钮(或F11),VS Code 就会将您带到外部依赖项的代码。您还可以直接在 VS Code 上打开文件,然后在其上放置断点。一旦它在编辑器中打开,下次调试时,它就会在这些断点处停止。

breakpoint on dependency

关于python - 如何使用 Visual Studio Code 单步执行依赖项代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57160636/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com