【发布时间】:2020-04-01 13:03:06
【问题描述】:
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.
【问题讨论】:
-
您的
pyproject.toml文件中是否还有一个[tool.poetry.extras]部分来定义额外的组?因为这是-E标签所期望的,而不是原始包名称。 -
@Arne 谢谢,确实如此!这样一个 akward 规范:您需要在依赖项部分下使用
optional=true指定包,在附加部分下使用group=['package']指定包,呃。您可以添加您的评论作为答案吗? -
当然,我也会尝试解释为什么会这样,尽管那里的文档描述性不是很好。
标签: python python-poetry