Python 的诗歌依赖管理器允许通过命令指定可选的依赖项:
$ poetry add --optional redis
导致此配置:
[tool.poetry.dependencies]
python = "^3.8"
redis = {version="^3.4.1", optional=true}
但是,您实际上如何安装它们?文档似乎暗示:
$ poetry install -E redis
但这只是抛出错误:
Installing dependencies from lock file
[ValueError]
Extra [redis] is not specified.
原文由 Granitosaurus 发布,翻译遵循 CC BY-SA 4.0 许可协议
你需要添加一个
tool.poetry.extras
组到你的pyproject.toml
如果你想在安装期间使用 ----E
标记:键指的是您与
poetry install -E
一起使用的词,值是在添加时标记为--optional
的包列表。当前 不支持 在添加过程中使可选包成为特定组的一部分,因此您必须在pyproject.toml
文件中手动维护此部分。这一附加抽象层背后的原因是额外安装通常指的是一些可选功能(在本例中为
caching
),通过安装一个或多个依赖项(在本例中只是redis
)。poetry
简单地模仿setuptools
‘这里额外安装的定义,这可能解释了为什么它被如此谨慎地记录下来。