
Pylint是Python 2或3的静态代码分析仪。最新版本支持Python 3.9.0及更高版本。
Pylint在不实际运行的情况下分析您的代码。它检查错误,执行编码标准,寻找代码气味,并可以对如何重构代码提出建议。
为了使用命令行,pylint安装了:
PIP安装孔
或者,如果您还要使用enchant检查拼写(您可能需要安装Enchant C库):
pip install pylint[spelling]它也可以集成在大多数编辑器或IDE中。更多信息可以在文档中找到。
Pylint使用其内部代码表示(Astroid)(Astroid)来推断节点的实际值(因为孔启动时没有打字)。如果您的代码是import logging as argparse ,则Pylint可以检查并知道argparse.error(...)实际上是记录调用,而不是ArgParse调用。这使得孔较慢,但是如果您的代码未完全键入,则可以让Pylint查找更多问题。
[推理]是杀手级的功能,它使我们在项目中使用[Pylint]的功能慢慢慢。 - 现实主义的Pylint用户,2022年
皮革不害怕比已经慢一点的,也比其他衬里要彻底得多。还有更多的检查,包括一些默认情况下停用的有见识的检查,但可以使用配置启用。
皮层并不比您聪明:它可能会警告您您认真完成的事情或检查一些您不在乎的事情。在采用期间,尤其是在一个从未执行过皮革的旧项目中,最好从--errors-only标志开始,然后使用 - 可限制的惯例和重构消息--disable=C,R ,然后逐渐重新评估和重新启用消息,因为您的优先事项会随着优先事项而发展。
Pylint是高度可配置的,并允许编写插件以添加自己的支票(例如,对于内部库或内部规则)。 Pylint还拥有用于流行框架和第三方库的现有插件的生态系统。
笔记
Pylint开箱即用支持Python标准库。并不总是支持第三方库,因此可能需要一个插件。一个好的起点是PyPI ,通常通过搜索pylint <library>来返回插件。 Pylint-Pydantic,Pylint-Django和Pylint-Sonarjson是此类插件的示例。有关插件以及如何加载它们的更多信息,请访问插件。
Projects that you might want to use alongside pylint include ruff ( really fast, with builtin auto-fix and a large number of checks taken from popular linters, but implemented in rust ) or flake8 (a framework to implement your own checks in python using ast directly), mypy, pyright / pylance or pyre (typing checks), bandit (security oriented checks), black and isort (auto-formatting), AutoFlake(自动删除未使用的进口或变量),Pyupgrade(自动升级到较新的Python语法)和PydocStringFormatter(自动化PEP257)。
皮革船舶带有另外两个工具:
我们欢迎所有形式的贡献,例如文档的更新,新代码,检查重复项的问题,或告诉我们我们可以关闭它们,确认问题仍然存在,创建问题,因为您找到了一个错误或想要一个功能等。一切都非常感谢!
如果您想做出代码贡献,请遵循《行为准则》并检查贡献指南。
您可以将此徽章放入读书中,让其他人知道您的项目使用pylint。
了解如何在徽章文档中向文档中添加徽章。
Pylint IS,下面列出的少数例外GPLV2。
图标文件是根据CC BY-SA 4.0许可证许可的:
请检查联系信息。
| 作为Tidelift订阅的一部分,可以提供对皮革的专业支持。 Tidelift为软件开发团队提供了购买和维护其软件的单一来源,并提供了最了解它的专家,同时与现有工具无缝集成。 |