Python代码静态检查器
项目描述
什么是Pylint?
Pylint是一个用于Python 2或3的静态代码分析器。最新版本支持Python 3.9.0及以上版本。
Pylint在运行代码之前分析您的代码。它检查错误、强制执行编码标准、查找代码异味,并可以就代码如何重构提出建议。
安装
对于命令行使用,可以使用以下命令安装pylint:
pip install pylint
或者,如果您想使用enchant来检查拼写(您可能需要安装enchant C库)
pip install pylint[spelling]
它还可以集成到大多数编辑器或IDE中。更多信息可以在文档中找到。
Pylint的不同之处
Pylint不相信您的输入,并使用其内部代码表示(astroid)推断节点的实际值(从pylint开始时没有类型)。如果您的代码是import logging as argparse,Pylint可以检查并知道argparse.error(...)实际上是一个logging调用,而不是argparse调用。这使得pylint速度较慢,但如果您的代码没有完全类型化,它也可以让pylint找到更多问题。
【推断】是让我们在项目中使用[pylint](尽管它很慢)的杀手级功能。 - 现实主义的pylint用户,2022
pylint不惧怕比现在慢一点,但它也比其他代码检查器更全面。有更多的检查,包括一些默认禁用但可以通过配置启用的有偏见性的检查。
如何使用pylint
Pylint并不比您聪明:它可能会警告您已经刻意做的事情,或者检查一些您不关心的事情。在采用过程中,尤其是在pylint从未被强制执行的遗留项目中,最好从--errors-only标志开始,然后使用--disable=C,R禁用约定和重构消息,并随着您优先级的演变逐步重新评估和重新启用消息。
Pylint高度可配置,并允许编写插件以添加自己的检查(例如,用于内部库或内部规则)。Pylint还有现有的插件生态系统,用于流行的框架和第三方库。
与 pylint 一起推荐的 linters
你可能希望与 pylint 一起使用的项目包括 ruff (非常快,具有内置的自动修复和从流行的 linters 中的大量检查,但用 rust 实现)或 flake8 (一个框架,用于使用 ast 直接在 Python 中实现自己的检查),mypy,pyright / pylance 或 pyre (类型检查),bandit (面向安全的检查),black 和 isort (自动格式化),autoflake (自动删除未使用的导入或变量),pyupgrade (自动升级到较新的 Python 语法)和 pydocstringformatter (自动 pep257)。
pylint 包含的其他工具
Pylint 随附两个额外的工具
贡献
我们欢迎所有形式的贡献,例如更新文档、新代码、检查问题是否存在重复或告诉我们我们可以关闭它们、确认问题仍然存在、创建问题,因为您发现了错误或想要一个功能 等。所有这些都备受赞赏!
展示您的使用情况
您可以将此徽章放置在您的 README 中,让其他人知道您的项目使用 pylint。
在 徽章文档 中了解如何将徽章添加到您的文档中。
许可证
pylint 在以下列出的少数例外情况下,采用 GPLv2。
图标文件采用 CC BY-SA 4.0 许可。
支持
请检查 联系信息。
pylint 的专业支持可作为 Tidelift 订阅 的一部分提供。Tidelift 为软件开发团队提供了一个单一来源来购买和维护他们的软件,同时与现有工具无缝集成,并从最了解其专家那里获得专业级保证。 |
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码分发
构建分发
pylint-3.3.1.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9f3dcc87b1203e612b78d91a896407787e708b3f189b5fa0b307712d49ff0c6e |
|
MD5 | d17d039b5e8de02a1a33e495737cbfd0 |
|
BLAKE2b-256 | 633a13e90e29777e695d90f422cf4fadb81c999e4755a9089838561bd0590cac |
pylint-3.3.1-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2f846a466dd023513240bc140ad2dd73bfc080a5d85a710afdb728c420a5a2b9 |
|
MD5 | 3d4a7d4d2df81a8549d38a701f5d5324 |
|
BLAKE2b-256 | 4d114a3f814eee14593f3cfcf7046bc765bf1646d5c88132c08c45310fc7d85f |