Flake8 插件,用于发现 pyflakes 和 pycodestyle 不检查的潜在错误与设计问题。
PyCQA/flake8-import-order
一个 flake8 和 Pylama 插件,用于检查 Python 导入语句的分组与排序是否符合指定的风格规范。
- Star
- 279
- Fork
- 72
- 未关闭 Issue
- 15
- 最近提交
- 4天前
这是什么?
flake8-import-order 是一个 flake8 和 Pylama 插件,只检查 Python 导入语句的分组与排序,不处理导入的其他方面。通常标准库在前,其次是第三方包,再是本地包,每组内部按字母排序,具体规则取决于所选风格。
插件新增四类警告:I100 和 I101 分别针对导入顺序错误和 from 导入中的名称顺序错误,I201 和 I202 分别针对分组之间缺少或多余的空行。内置 cryptography(默认)、google、smarkets、appnexus、edited、pycharm 和 pep8 等风格,其中 pep8 只约束分组而不约束组内顺序。可通过配置项声明本地应用名和公司内部包名。
用户还可以继承 Style 类实现自定义风格,并通过 setuptools 的 entry points 机制注册。
核心功能
- 01为 flake8 和 Pylama 检查导入的分组与排序。
- 02提供四类警告码,覆盖顺序和空行问题。
- 03内置 cryptography、google、smarkets、pep8 等多种风格。
- 04可配置项目的本地应用名和公司内部包名。
- 05支持通过继承和 entry points 添加自定义风格。
适用场景
- 在 CI 中统一整个 Python 代码库的导入格式。
- 让代码符合团队采用的导入规范,如 Google 风格或项目自定义约定。
- 在现有 flake8 检查流程中加入导入顺序检测。
使用前须知
- 采用 LGPL-3.0 许可证,这是一种对再分发有条件要求的 Copyleft 许可证。
- 仅检查模块作用域的导入;除 TYPE_CHECKING 块外,条件导入会被忽略。
- 排序检查仅比较相邻的导入,因此部分顺序错误的导入可能不会被报告。
收录于专题
标签
#python#linter#flake8#code-style#static-analysis#flake8-extensions#linter-flake8#linter-plugin#pylama
常见问题
- flake8-import-order 是什么?
- 一个 flake8 和 Pylama 插件,用于检查 Python 导入语句的分组与排序是否符合指定的风格规范。 flake8-import-order 是一个 flake8 和 Pylama 插件,只检查 Python 导入语句的分组与排序,不处理导入的其他方面。通常标准库在前,其次是第三方包,再是本地包,每组内部按字母排序,具体规则取决于所选风格。
- flake8-import-order 可以免费使用吗?用的什么许可证?
- flake8-import-order 以 LGPL-3.0 许可证开源。用于商业产品前,请先确认许可证条款。
- flake8-import-order 还在维护吗?
- 活跃维护中。flake8-import-order 最近一次提交是在 2026年11月3日。
- flake8-import-order 适合用来做什么?
- 在 CI 中统一整个 Python 代码库的导入格式。 让代码符合团队采用的导入规范,如 Google 风格或项目自定义约定。 在现有 flake8 检查流程中加入导入顺序检测。
- 在哪里获取 flake8-import-order?
- 源代码和安装说明在 GitHub 上:https://github.com/PyCQA/flake8-import-order
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
1124+1 本周134PythonMIT维护活跃更新于 18小时前
一个 Python 代码检查工具,将 PyFlakes、pycodestyle 和 McCabe 整合为单一命令。
3833364PythonOther更新于 3天前
一个单文件的 Python 代码风格检查工具,依据 PEP 8 规范检查代码,只依赖标准库。
5165762PythonOther维护活跃更新于 3天前
一个计算 Python 函数 McCabe 圈复杂度的工具,可作为 flake8 插件使用,用于发现过于复杂的代码。
68470PythonOther更新于 26天前
一个 flake8 插件,用于检测可以简化重写的 Python 代码写法。
19522PythonMIT更新于 6天前
一个命令行工具与 flake8 插件,用于在多个项目间统一配置文件中的设置,并可自动修正。
413+1 本周26PythonMIT更新于 5天前