pyproject.toml
Pep771Specifies如何使用方括号如何安装附加功能。我找到了很多有关如何安装extras
的资源,但是令人沮丧的是,如何在自己的项目中定义它们。
我如何设置项目,以便使用.
└── my_project/
├── src/
│ └── my_package/
│ ├── core/
│ │ └── __init__.py
│ ├── gui/
│ │ └── __init__.py
│ └── __init__.py
├── poetry.lock
└── pyproject.toml
安装的用户仅安装poetry add my_package
软件包,但是core
poetry add my_package[gui]
和
core
??
Extras不能那样工作,仅将代码放入同一软件包中,它们才适用于您的软件包依赖项,在构建软件包时会捆绑其中。 附加功能仅适用于包装的依赖项。 在您的情况下,无论用户是否指定
gui
或不指定的是将GUI代码捆绑到包装中。但是,您可以使用Extras来防止用户不使用GUI时所有GUI依赖性安装。为了使我在可选模块中放置这样的用户的错误非常清楚。
[gui]