对于命令行使用,pylint 安装有:
pip 安装 pylint
或者,如果您还想检查拼写enchant
(您可能需要 安装 enchant C 库):
pip install pylint[spelling]
它还可以集成到大多数编辑器或 IDE 中。可以在文档中找到更多信息 。
Pylint 不信任您的输入,而是使用其内部代码表示 (astroid) 推断节点的实际值(一开始是因为 pylint 启动时没有输入)。如果您的代码是import logging as argparse
,Pylint 可以检查并知道这argparse.error(...)
实际上是一个日志记录调用而不是 argparse 调用。这会使 pylint 变慢,但如果您的代码未完全键入,它也会让 pylint 发现更多问题。
[inference] 是让我们在项目中使用 [pylint] 的杀手级功能,尽管它非常慢。-现实主义 pylint 用户,2022
pylint,不怕比现在慢一点,也比其他 linters 更彻底。还有更多检查,包括一些默认情况下停用但可以使用配置启用的自以为是的检查。
Pylint 并不比你聪明:它可能会警告你一些你认真做过的事情,或者检查一些你不关心的事情。在采用期间,尤其是在从未强制执行 pylint 的遗留项目中,最好从标志开始--errors-only
,然后禁用约定和重构消息,并--disable=C,R
随着优先级的发展逐步重新评估和重新启用消息。
Pylint 是高度可配置的,并允许编写插件以添加您自己的检查(例如,用于内部库或内部规则)。Pylint 还拥有一个由流行框架和第三方库的现有插件组成的生态系统。
笔记
Pylint 开箱即用地支持 Python 标准库。并不总是支持第三方库,因此可能需要一个插件。一个好的起点是PyPI
通常通过搜索返回一个插件 pylint <library>
。pylint-pydantic、pylint-django和 pylint-sonarjson是此类插件的示例。有关插件以及如何加载它们的更多信息,请参见插件。
您可能希望与 pylint 一起使用的项目包括ruff(非常快,内置自动修复和越来越多的检查取自流行的 linters 但在 中实现rust
)或flake8(更快更简单的检查,误报很少), mypy,pyright或pyre(键入检查)、bandit(安全导向检查)、black和 isort(自动格式化)、autoflake(自动删除未使用的导入或变量)、 pyupgrade(自动升级到更新的 python 语法)和pydocstringformatter(自动 pep257)
Pylint 附带两个额外的工具:
我们欢迎各种形式的贡献,例如文档更新、新代码、检查重复问题或告诉我们我们可以关闭它们、确认问题仍然存在、因为发现错误或想要功能而创建问题等。一切都是非常感激!
您可以将此徽章放在您的自述文件中,让其他人知道您的项目使用了 pylint。
在徽章文档中了解如何将徽章添加到您的文档。
pylint 是GPLv2,除了下面列出的一些例外。
图标文件根据CC BY-SA 4.0许可获得许可: