诗歌如何知道我的包位于 src 文件夹中?

emo*_*ier 22 python testing python-poetry

我有一个简单的问题。

我曾经用我的包在根目录下创建一个诗歌项目。

project.toml
mypackage
  +- __init__.py
  +- mypackage.py
  +- test_mypackage.py
Run Code Online (Sandbox Code Playgroud)

我最近将测试移到了另一个目录中,因此该文件夹现在看起来像。

project.toml
src
  +- mypackage
      +- __init__.py
      +- mypackage.py
tests
  +- test_mypackage.py
Run Code Online (Sandbox Code Playgroud)

诗歌没有任何改变,当我创作时它仍然工作得很好poetry build。它如何搜索包根文件夹?它是否搜索包名称为 的文件夹project.toml?

感谢您的帮助。

Arn*_*rne 15

调用一个文件夹src来包含包代码只是一个预定义的标准,poetry无需告知即可识别。packages它通过项目文件中的部分工作,默认情况下扫描mypackage和src/mypackage。如果您提供自己的值,它将停止自动检测这两个值。


HHe*_*est 6

从 Poetry ver 1.6.1 开始,pyproject.toml 中的以下规范有效

[tool.poetry]
packages = [{include = "mypackage", from="src"}]
Run Code Online (Sandbox Code Playgroud)