如何在Poetry中更新scikit-learn依赖的joblib,是否有版本指定机制?
Poetry 指定 joblib 特定版本的解决方案
Poetry 具备类似 npm 中 Resolution 的版本强制能力,针对你的场景,可通过以下两种方式实现:
1. 直接声明固定版本依赖
将 joblib 直接添加到项目的依赖列表并指定目标版本,修改 pyproject.toml 的 [tool.poetry.dependencies] 区块:
[tool.poetry.dependencies] python = "^3.8" # 替换为你的项目Python版本要求 scikit-learn = "1.2.1" joblib = "1.2.1" # 固定为漏洞修复后的版本
由于 scikit-learn 1.2.1 的依赖要求是 joblib>=1.1.1,1.2.1 完全符合该范围,不会产生冲突。
2. 使用约束强制全局版本
若不想将 joblib 列为项目直接依赖,可通过约束配置强制整个依赖树使用指定版本,在 pyproject.toml 中添加:
[tool.poetry.constraints] joblib = "1.2.1"
该配置会让所有依赖项统一使用 1.2.1 版本,且满足 scikit-learn 的依赖要求。
应用版本更新
完成配置后,执行以下命令生效:
poetry update joblib
也可直接指定版本执行更新:
poetry update joblib@1.2.1
验证版本
执行命令确认 joblib 版本已更新:
poetry show joblib
内容的提问来源于stack exchange,提问作者Joy
相关产品推荐
相关产品推荐

