Repolode
PyCQA

PyCQA/pyflakes

一款 Python 静态检查工具,通过解析源码查找错误,不做代码风格检查。

可替代:Pylint

Star
1,465
Fork
205
未关闭 Issue
59
最近提交
10天前

这是什么?

Pyflakes 用于检查 Python 源文件中的错误,例如未使用的导入、未定义的名称等,这些问题通过分析语法树即可发现。它通过解析文件而不是导入模块来工作,因此可以安全地用于带有副作用的模块,并且比 Pylint 运行更快。

它的设计原则是宁缺毋滥:不报告代码风格问题,并尽量避免误报。由于它逐个文件独立分析,能检查的问题类型比分析整个项目的工具要少。

可通过 PyPI 安装,支持 Python 3.9 及以上版本,既可以作为命令运行,也可以指定 Python 版本以模块方式调用。如果还需要风格检查,可以搭配 flake8,它将 Pyflakes 与 PEP 8 检查结合在一起。

核心功能

  • 01通过解析源码检测未使用的导入、未定义名称等错误。
  • 02不导入被检查的代码,对有副作用的模块也安全。
  • 03不报告代码风格问题,力求减少误报。
  • 04仅分析单个文件的语法树,运行速度比 Pylint 更快。
  • 05可从 PyPI 安装,并可针对指定的 Python 版本运行。

适用场景

  • 在运行测试前发现 Python 代码中的常见低级错误。
  • 在 CI 流水线中加入快速、低噪音的检查步骤。
  • 在不执行代码的前提下检查存在导入副作用的模块。
  • 需要风格检查时与 flake8 搭配使用。

快速上手

  1. 1

    从 PyPI 安装 Pyflakes

    pip install --upgrade pyflakes
  2. 2

    在当前目录运行 Pyflakes

    python -m pyflakes .

使用前须知

  • 它只报告错误,不做风格检查;如果还需要 PEP 8 检查,请使用 flake8。

收录于专题

标签

常见问题

pyflakes 是什么?
一款 Python 静态检查工具,通过解析源码查找错误,不做代码风格检查。 Pyflakes 用于检查 Python 源文件中的错误,例如未使用的导入、未定义的名称等,这些问题通过分析语法树即可发现。它通过解析文件而不是导入模块来工作,因此可以安全地用于带有副作用的模块,并且比 Pylint 运行更快。
pyflakes 可以免费使用吗?用的什么许可证?
pyflakes 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
pyflakes 还在维护吗?
活跃维护中。pyflakes 最近一次提交是在 2026年10月28日。
pyflakes 适合用来做什么?
在运行测试前发现 Python 代码中的常见低级错误。 在 CI 流水线中加入快速、低噪音的检查步骤。 在不执行代码的前提下检查存在导入副作用的模块。 需要风格检查时与 flake8 搭配使用。
pyflakes 怎么安装和运行?
从 PyPI 安装 Pyflakes: pip install --upgrade pyflakes 在当前目录运行 Pyflakes: python -m pyflakes .
在哪里获取 pyflakes?
源代码和安装说明在 GitHub 上:https://github.com/PyCQA/pyflakes

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目