gpt4 book ai didi

python - 诗歌忽略pyproject.toml中的依赖

转载 作者:行者123 更新时间:2023-12-04 02:33:13 29 4
gpt4 key购买 nike

我目前有一个 Python3 项目,设置了 Poetry 作为主要的包管理器。除此之外,我还通过 Github 工作流设置了构建和一些自动化测试。我的包依赖于 Tensorflow,尽管没有它也可以运行自动化测试。不幸的是,每次 Github 工作流运行这些测试时都会安装 Tensorflow(相当大)。由于这些测试不需要 Tensorflow,并且我想加快构建速度,因此当从构建管道调用 poetry install 时,我想忽略 Tensorflow 依赖项。
有人知道在使用 Poetry 时排除依赖项的方法吗?

最佳答案

想到的唯一其他方法是将 tensorflow 依赖项移动到 an extra category ,这在诗歌中看起来像这样:

$ poetry add --extras tensorflow
这意味着当您运行 poetry install 时不会安装它,除非它是您明确安装的命名组的一部分。这可以通过将其添加到您的 pyproject.toml 来实现:
[tool.poetry.extras]
runtime = ["tensorflow"] # any name goes, I chose "runtime" because it sounded like it'd make sense
该列表可以使用您只在运行时需要的任何其他包进行扩展,而不是在测试期间。如果要安装代码以实际运行它,则必须先执行以下操作:
$ poetry install --extras runtime

这将干净地分离您的依赖项,您必须评估它在您的情况下是否有意义。根据经验,通常最好运行 hacks 来使测试工作而不是恶化客户端体验,因此您当前的工作流程很可能比我刚刚编写的更好。

关于python - 诗歌忽略pyproject.toml中的依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62978955/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com