元经纪 - 元宇宙与人工智能领域相关产品与服务一站式采购平台

400-6166692

PyLint:用于Python代码的静态分析工具

分类:开源 时间:2023-06-21 07:30 浏览:2271
概述
用于Python代码的静态分析工具,可以帮助发现代码中的语法错误、潜在的错误等问题。
内容

概述

用于Python代码的静态分析工具,可以帮助发现代码中的语法错误、潜在的错误等问题。

安装

对于命令行使用,pylint 安装有:

pip 安装 pylint

或者,如果您还想检查拼写enchant(您可能需要 安装 enchant C 库):

pip install pylint[spelling]

[hidecontent type="logged" desc="隐藏内容:登录后可查看"]

它还可以集成到大多数编辑器或 IDE 中。可以在文档中找到更多信息 。

Pylint 有什么区别?

Pylint 不信任您的输入,而是使用其内部代码表示 (astroid) 推断节点的实际值(一开始是因为 pylint 启动时没有输入)。如果您的代码是import logging as argparse,Pylint 可以检查并知道这argparse.error(...)实际上是一个日志记录调用而不是 argparse 调用。这会使 pylint 变慢,但如果您的代码未完全键入,它也会让 pylint 发现更多问题。

[inference] 是让我们在项目中使用 [pylint] 的杀手级功能,尽管它非常慢。-现实主义 pylint 用户,2022

pylint,不怕比现在慢一点,也比其他 linters 更彻底。还有更多检查,包括一些默认情况下停用但可以使用配置启用的自以为是的检查。

如何使用pylint

Pylint 并不比你聪明:它可能会警告你一些你认真做过的事情,或者检查一些你不关心的事情。在采用期间,尤其是在从未强制执行 pylint 的遗留项目中,最好从标志开始--errors-only,然后禁用约定和重构消息,并--disable=C,R随着优先级的发展逐步重新评估和重新启用消息。

Pylint 是高度可配置的,并允许编写插件以添加您自己的检查(例如,用于内部库或内部规则)。Pylint 还拥有一个由流行框架和第三方库的现有插件组成的生态系统。

笔记

Pylint 开箱即用地支持 Python 标准库。并不总是支持第三方库,因此可能需要一个插件。一个好的起点是PyPI通常通过搜索返回一个插件 pylint <library>pylint-pydanticpylint-django和 pylint-sonarjson是此类插件的示例。有关插件以及如何加载它们的更多信息,请参见插件

建议 linters 和 pylint

您可能希望与 pylint 一起使用的项目包括ruff非常快,内置自动修复和越来越多的检查取自流行的 linters 但在 中实现rust)或flake8(更快更简单的检查,误报很少), mypypyrightpyre(键入检查)、bandit(安全导向检查)、black和 isort(自动格式化)、autoflake(自动删除未使用的导入或变量)、 pyupgrade(自动升级到更新的 python 语法)和pydocstringformatter(自动 pep257)

pylint 中包含的其他工具

Pylint 附带两个额外的工具:

  • pyreverse(生成包和类图的独立工具。)
  • symilar (也集成在 pylint 中的重复代码查找器)

贡献

我们欢迎各种形式的贡献,例如文档更新、新代码、检查重复问题或告诉我们我们可以关闭它们、确认问题仍然存在、因为发现错误或想要功能而创建问题等。一切都是非常感激!

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

显示您的使用情况

您可以将此徽章放在您的自述文件中,让其他人知道您的项目使用了 pylint。

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

执照

pylint 是GPLv2,除了下面列出的一些例外。

图标文件根据CC BY-SA 4.0许可获得许可:

[/hidecontent]

 
微信客服
返回顶部