如何将指定Ruff规则集设为警告/建议而非强制失败?
解决方案
核心方案:利用Ruff的规则严重程度配置
Ruff支持通过配置文件为特定规则/规则集设置severity(严重程度),将目标规则标记为warning后,检查时会输出提示信息,但不会返回非零退出码——既不阻断开发流程,又能在pre-commit和CI中展示优化建议。
配置示例(以pyproject.toml为例)
在项目根目录的pyproject.toml中添加以下配置:
[tool.ruff] # 保留你的常规select/ignore配置 select = ["E", "F", "TCH", "TD"] ignore = [] # 配置规则严重程度 [tool.ruff.severity] # 将整个TCH规则集设为警告 "TCH" = "warning" # 将TD003单独设为警告,其他TD规则保持默认error级别 "TD003" = "warning"
若使用独立的ruff.toml配置文件,格式如下:
select = ["E", "F", "TCH", "TD"] ignore = [] [severity] "TCH" = "warning" "TD003" = "warning"
适配pre-commit与CI/CD流水线
- pre-commit钩子:无需修改现有钩子配置,Ruff会自动读取项目根目录的配置文件,执行检查时仅输出警告信息,不会阻止提交操作。
- CI/CD流水线:直接运行常规的
ruff check .命令即可,警告不会导致流水线失败,但输出的提示信息会保留在日志中,供代码评审时参考。
验证效果
运行ruff check .后,TCH规则集和TD003的违规内容会以黄色警告字样显示,而非红色错误,且命令最终返回0(成功状态),不会中断开发或流水线流程。
内容的提问来源于stack exchange,提问作者Jesper
相关产品推荐
相关产品推荐

