浏览:python静态分析工具
prospector的Python项目详细描述
关于
prospector是一个分析python代码并输出有关 错误、潜在问题、违反惯例和复杂性。
它将其他python分析工具(如 Pylint, pep8, 以及McCabe complexity。 见Supported Tools 完整列表的文档部分。
prospector的主要目标是“开箱即用”。其他人的共同抱怨 python分析工具需要很长时间来筛选与错误相关的内容 或者对你自己的编码风格感兴趣。“浏览”提供了一些默认配置文件,其中 希望能提供一个很好的起点,很快就会有用,并且适应 输出取决于项目使用的库。
安装
通过运行以下命令,可以使用pip安装浏览:
pip install prospector
浏览的可选依赖项,如pyroma,也可以通过运行:
pip install prospector[with_pyroma]
有关所有可选依赖项的列表,请参阅readthedocs上的可选附加功能部分 在Supported Tools Extras上翻页。
有关安装该工具的详细信息,请参见 ^工具主页的{a11} 准备好了。
用法
只需从项目的根目录运行prospector即可:
prospector
这将输出指出潜在问题或错误的消息列表,例如:
prospector.tools.base (prospector/tools/base.py): L5:0 ToolBase: pylint - R0922 Abstract class is only referenced 1 times
选项
运行prospector --help获取选项及其效果的完整列表。
输出格式
默认的输出格式prospector被设计为人类可读。用于分析 (例如,对于报告),可以使用--output-format json标志来获取json格式 输出。
配置文件
“浏览”可使用“配置文件”配置。这些是可组合的yaml文件,具有 禁用或启用工具或消息。有关详细信息,请阅读 the documentation about profiles。
如果您的代码使用框架和库
通常,Pylint之类的工具会在代码中发现错误,而这些错误并不是错误,例如,由于类的属性是 由项目使用的库或框架在运行时创建。 例如,在默认情况下,pylint将在访问objects时为django模型生成一个错误,作为 objects属性不是Model类定义的一部分。
prospector通过向底层工具提供对这些框架的理解来缓解这种情况。
“浏览者”将尝试直观显示项目使用的库 detecting dependencies并自动打开 支持必要的库。您可以在报告的元数据部分中看到运行了哪些适配器。
如果“浏览”无法正确检测项目的依赖项,则可以从命令行中手动指定它们:
prospector --uses django celery
此外,如果“浏览”自动检测到实际上不使用的库,则可以 完全关闭自动检测:
prospector --no-autodetect
注意,尽可能地,这些适配器被编写为底层的插件或扩展 工具,以便在不需要“浏览”的情况下使用它们。例如,django支持作为pylint插件提供。
严格性
prospector有一个可配置的“严格”级别,它将确定搜索错误的严格程度:
prospector --strictness high
可能的值是verylow,low,medium,high,veryhigh。
“浏览”默认情况下不包含文档警告,但您可以 这是关于使用--doc-warnings标志的。
预提交
如果希望更改Git中的文件时自动运行“浏览” 存储库,您可以安装pre-commit并添加以下内容 给你的报告发短信ries'.pre-commit-config.yaml:
repos: - repo: https://github.com/PyCQA/prospector rev: 1.1.7 # The version of Prospector to use, at least 1.1.7 hooks: - id: prospector
许可证
“浏览”在GPLV2许可下可用。