You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Poetry时deptry误报redis为未使用依赖的解决咨询

解决Deptry误报Redis未使用的问题

问题场景

你用Poetry 1.7.0管理项目,pyproject.toml里给dogpile-cache配置了redis extras,同时显式声明了redis依赖。但执行deptry .时,工具误报redis未被使用——你代码里确实没直接导入redis,但它是dogpile-cache[redis]运行必需的依赖,移除显式声明后项目直接无法正常运行。而且你清楚Poetry extras是用来定义项目可选扩展功能的,不想滥用它来处理这类必需依赖。

两种解决办法

办法1:修改Deptry配置,屏蔽误报

在项目根目录创建或编辑.deptry.toml文件,添加以下配置,让Deptry跳过对redis的未使用依赖检测:

[tool.deptry]
ignore_unused = ["redis"]

这个方案既能保留必需的显式依赖,又能快速解决误报问题,适合不想调整依赖声明结构的场景。

办法2:调整Poetry依赖声明(更贴合规范的尝试)

理论上dogpile-cache的redis extras应该已经内置了对redis的依赖声明(可通过查看其PyPI页面的依赖信息确认),如果确实如此,你可以尝试移除显式的redis依赖,只保留:

dogpile-cache = {extras = ["redis"], version = "^1.2.2"}

但你提到移除显式依赖后项目无法运行,说明dogpile-cache的extras依赖声明存在问题,这种情况下还是得保留显式的redis依赖,再通过办法1解决Deptry的误报。

总结

优先选择办法1,因为你的场景中redis是项目运行必需的隐式依赖,不属于可选扩展范畴,完全没必要用Poetry extras来处理。修改Deptry配置是最直接且符合你需求的解决方案。

内容的提问来源于stack exchange,提问作者SBH

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 14:20:10