【问题标题】:vscode tests discovery with poetry (src layout)vscode 用诗歌测试发现(src 布局)
【发布时间】:2020-12-30 00:23:50
【问题描述】:

上次我按照推荐的 src 布局 (https://hynek.me/articles/testing-packaging/) 使用 tox 取得了巨大成功。

但是 VSCODE 测试发现失败,因为无法导入 src 包。这是预期的,因为我们要测试 已安装 包。

但是如何在 vscode 中调试我的测试呢?

【问题讨论】:

  • 我看到这是一个自我 QA,并且您对该主题进行了大量研究。但是您能否也包括为什么poetry install 不适用于您的情况?我也有带有 src-layers 的诗歌管理项目,我不需要单独的 pip install -e . 来安装我的代码并让我的测试运行程序找到它。
  • @Arne 啊看起来我是个白痴。是的,它适用于诗歌安装。至少在第二台电脑上。我需要验证我的 win7 笔记本电脑出了什么问题。在问题github.com/python-poetry/poetry/issues/34 中仍然存在一些问题,例如调试依赖项github.com/python-poetry/poetry/issues/… 并没有帮助,我想我应该删除这个问题。
  • 嗯,它发生了 =) .. 如果诗歌不知道它,安装 src-layout 可能会很棘手,因为您的 pyproject.toml 中的 it doesn't need packages-key,虽然似乎 lib-layout 确实如此。您是否愿意保留它,最坏的情况是它是一种解决方法,以防原生 src-layout 检测不起作用或无法使用。

标签: visual-studio-code python-poetry vscode-python


【解决方案1】:

(这里的Q作者:我在发布问题之前已经对此进行了研究,所以分享我的发现)

没有解决办法

您可以修改您的 PYTHONPATH 以指向您的 src 目录,但它破坏了拥有单独的 src 目录的主要好处(阅读来自 OP 的链接)。

解决方案

使用pip install -e path/to/your/package(通常是pip install -e .)启用开发模式,并在安装时对您的代码库进行测试。

之后,您的测试应该会被正确发现。否则这是不同的问题 - 读取与代码输出控制台。

注意:这需要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

【讨论】:

    猜你喜欢
    • 2022-10-22
    • 2019-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-31
    • 2018-06-06
    • 2023-03-06
    • 1970-01-01
    相关资源
    最近更新 更多