发布于2026-07-20 阅读(0)
扫一扫,手机访问
Ruff 本身不支持在ruff format中排序 import,需要配合ruff check --select I --fix单独执行 import 排序,再运行格式化命令,这才能实现与 isort + black 类似的双步自动化流程。
Ruff 本身不支持在 ruff format 中排序 import,需要配合 ruff check --select I --fix 单独执行 import 排序,再运行格式化命令,这才能实现与 isort + black 类似的双步自动化流程。
从 2023 年开始,Ruff 就把代码格式化(ruff format)和代码检查(ruff check)拆成了两个独立的子命令。这里的关键点在于:导入排序(import sorting)属于 linting 的范畴,由 ruff check 负责,而不是格式化器。换句话说,即使你习惯了用 ruff format . 来替代 black,也别指望它能顺手搞定 import 排序——这活儿,isort 才是正主,而 Ruff 的对应能力在 check 那边。
那么,要完全替代 isort,该怎么办?推荐下面这个两步组合命令(按顺序执行):
ruff check --select I --fix . ruff format .
--select I 表示只启用所有以 I 开头的规则(比如 I001 未排序导入、I002 缺失必需空行等等),精准锁定 import 整理,不干扰其他检查项;--fix 启用自动修复,全程无需人工干预;ruff check --select I --fix . && ruff format .),非常适合集成到 CI/CD 流水线或者 pre-commit 钩子里。⚠️ 需要注意几个细节:
ruff.toml 或 pyproject.toml),上面的命令照样可以开箱即用,对小型项目来说非常友好;[tool.ruff.isort] 下设置选项(例如 known-first-party = ["myapp"])。否则,Ruff 会采用默认的 isort 兼容策略。总结一下:Ruff 并没有追求“一条命令包打天下”,而是通过职责分离,提供了一种更可控、更可组合的开发体验。用 ruff check --select I --fix 替代 isort,再配合 ruff format 完成其余格式化任务,既轻量又可靠,是现代 Python 小型项目非常理想的选择。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8