跳转到主要内容

Python代码静态检查器

项目描述

https://github.com/pylint-dev/pylint/actions/workflows/tests.yaml/badge.svg?branch=main https://codecov.io/gh/pylint-dev/pylint/branch/main/graph/badge.svg?token=ZETEzayrfk PyPI Package version Documentation Status https://img.shields.io/badge/code%20style-black-000000.svg https://img.shields.io/badge/linting-pylint-yellowgreen pre-commit.ci status CII Best Practices OpenSSF Scorecard Discord

什么是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 中实现自己的检查),mypypyright / pylance 或 pyre (类型检查),bandit (面向安全的检查),blackisort (自动格式化),autoflake (自动删除未使用的导入或变量),pyupgrade (自动升级到较新的 Python 语法)和 pydocstringformatter (自动 pep257)。

pylint 包含的其他工具

Pylint 随附两个额外的工具

  • pyreverse (生成包和类图的独立工具。)

  • symilar (也是集成在 pylint 中的重复代码查找器)

贡献

我们欢迎所有形式的贡献,例如更新文档、新代码、检查问题是否存在重复或告诉我们我们可以关闭它们、确认问题仍然存在、创建问题,因为您发现了错误或想要一个功能 等。所有这些都备受赞赏!

如果您想做出代码贡献,请遵循 行为准则 并检查 贡献指南

展示您的使用情况

您可以将此徽章放置在您的 README 中,让其他人知道您的项目使用 pylint。

https://img.shields.io/badge/linting-pylint-yellowgreen

徽章文档 中了解如何将徽章添加到您的文档中。

许可证

pylint 在以下列出的少数例外情况下,采用 GPLv2

图标文件采用 CC BY-SA 4.0 许可。

支持

请检查 联系信息

Tidelift

pylint 的专业支持可作为 Tidelift 订阅 的一部分提供。Tidelift 为软件开发团队提供了一个单一来源来购买和维护他们的软件,同时与现有工具无缝集成,并从最了解其专家那里获得专业级保证。

项目详情


发布历史 发布通知 | RSS 源

下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

pylint-3.3.1.tar.gz (1.5 MB 查看哈希值)

上传时间: 源代码

构建分发

pylint-3.3.1-py3-none-any.whl (521.8 kB 查看哈希值)

上传时间: Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面