我有一个简单的问题。
我曾经用我的包在根目录下创建一个诗歌项目。
project.toml
mypackage
+- __init__.py
+- mypackage.py
+- test_mypackage.py
我最近将测试移动到另一个目录中,因此该文件夹现在看起来像这样。
project.toml
src
+- mypackage
+- __init__.py
+- mypackage.py
tests
+- test_mypackage.py
诗歌没有任何改变,当我制作
poetry build
时仍然可以正常工作。它如何搜索包根文件夹?它是否会搜索包名称为 project.toml
的文件夹?
感谢您的帮助。
从 Poetry 版本 1.6.1 开始,pyproject.toml 中的以下规范有效
[tool.poetry]
packages = [{include = "mypackage", from="src"}]
对于任何将源模块直接包含在
src
目录中、没有 my_package
目录并且您希望导入看起来像这样的地方的人
from my_module import foo
from utils import bar
from constants import FOOBAR
而不是
from src.my_module import foo
from src.utils import bar
from src.constants import FOOBAR
您可以在 pyproject 文件中执行以下操作:
packages = [{include = "*", from="src"}]