上次我按照推荐的 src 布局 ( https://hynek.me/articles/testing-packaging/ ) 使用 tox 取得了巨大成功。
但是 VSCODE 测试发现失败,因为无法导入 src 包。这是预期的,因为我们要测试已安装的包。
但是如何在 vscode 中调试我的测试呢?
上次我按照推荐的 src 布局 ( https://hynek.me/articles/testing-packaging/ ) 使用 tox 取得了巨大成功。
但是 VSCODE 测试发现失败,因为无法导入 src 包。这是预期的,因为我们要测试已安装的包。
但是如何在 vscode 中调试我的测试呢?
(这里的Q作者:在发布问题之前我已经对此进行了研究,所以分享我的发现)
您可以修改 PYTHONPATH 以指向您的src
目录,但它破坏了拥有单独src
目录的主要好处(从 OP 读取链接)。
使用pip install -e path/to/your/package
(通常pip install -e .
)启用开发模式并在安装时对您的代码库进行测试。
之后,您的测试应该被正确地发现。否则这是不同的问题 - 读取 vs 代码输出控制台。
注意:这需要setup.py
作为构建后端
pyproject.toml
[build-system]
requires = [
"poetry-core>=1.0.0",
"setuptools" # to support local installations
]
然后
poetry build --format sdist && tar --wildcards -xvf dist/*.tar.gz -O '*/setup.py' > setup.py
pip install -e .
来源:https ://github.com/python-poetry/poetry/issues/34
TLDR:正确的解决方案超出了诗歌范围,指向 python-list 讨论的链接:https ://github.com/python-poetry/poetry/issues/34#issuecomment-732478605