如何将软件包指定为诗歌/pyproject.toml

问题描述 投票:0回答:1
我有一个带有核心软件包和可选的GUI包的包装,并带有其自己的额外依赖项。这是项目结构:

pyproject.toml

Pep771
Specifies
如何使用方括号如何安装附加功能。我找到了很多有关如何安装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]
python python-packaging python-poetry
1个回答
0
投票
如果您试图向用户隐藏指南代码(也许是出于商业原因?),则需要将其制成单独的软件包。


最新问题
© www.soinside.com 2019 - 2025. All rights reserved.