诗歌中的 deps 和 dev-deps 有什么区别?

mwi*_*.me 11 python-poetry

在Poetry 的pyproject.tomldependencies配置文件中,您可以同时指定和dev-dependencies,但文档没有明确说明区别是什么。

我从名称猜想开发依赖项不会由发布版本安装,但我没有注意到任何区别。如何正确使用这些字段,例如排除构建中的开发依赖项

小智 11

你的假设是正确的。开发依赖项的最佳用例是创建具有可选依赖项的库时。例如,您正在开发应该与 MySQL、PostgreSQL 等一起使用的 ORM。您必须测试您的代码是否可以与所有这些 RDBMS 一起使用。您将其放入开发依赖项中。但对于安装您的库的人来说,这些依赖项是可选的,并且不会自动安装。

通常,用于测试或构建应用程序的所有库都显示在开发依赖项中。

如何正确使用这些字段,例如排除构建中的开发依赖项?

poetry install有一个no-dev适合这种情况的标志。

  • 我很惊讶“no-dev”不是默认值。我猜 95% 的安装包的用户对 pyflakes、pytest、black 等开发库不感兴趣。但是因为 Poetry 默认安装开发包,所以我必须向用户添加使用“no-dev”的说明` 安装时标记。 (5认同)