Skip to main content

轻松运行多个 python linter

项目描述

https://github.com/adamchainz/multilint/workflows/CI/badge.svg?branch=master https://img.shields.io/pypi/v/multilint.svg https://img.shields.io/badge/code%20style-black-000000.svg

未维护:我不再维护这个包,因为它是为了兼容 Python 2,而我使用过的所有其他项目现在都只支持 Python 3。如果您想继续维护,请与我联系。


轻松运行多个 python linter。

安装使用

使用pip安装:

python -m pip install multilint

运行:

multilint

支持 Python 3.5 到 3.8。

这个怎么运作

我喜欢使用一组标准的 linter 来保持我的项目整洁。使用包装脚本运行它们变得更容易,我最终在它们之间复制粘贴。这个项目让我不再需要复制/粘贴,集中运行所有这些简洁的工具。

按顺序,它将检查这些 linter 是否已安装,如果是,则运行它们:

  • 黑色,自动格式化代码

  • Flake8,检查代码质量

  • Isort,在“差异”模式下显示未对导入进行排序的位置

  • 现代化,在“差异”模式下显示 缺少与6的 python 2/3 兼容性

如果其中任何一个失败,multilint将停止并以非零退出代码终止。否则就成功了!

您需要配置将被检查的路径(默认情况下,只有 setup.py被检查)。在setup.cfg中放置一个部分,例如:

[tool:multilint]
paths = <s>my_package</s>
        tests
        setup.py

您还可以将路径作为参数传递给multilint,这将覆盖设置,例如:

multilint path/my_file.py path/folder1

注意:以前multilint支持运行setup.py 检查您是否传递了setup.py文件。由于该命令已弃用,因此已将其删除。您应该按照python 打包文档使用twine check

毒物一起使用

我通常使用tox运行我的测试。使用 multilint在 Python 3.5-3.8 上运行测试并在 Python 3.8 上进行linting的示例tox.ini如下所示:

[tox]
envlist =
    py{35,36,37,38},
    py38-codestyle

[testenv]
deps = <s>-rrequirements.txt</s>
commands = <s>pytest</s>

[testenv:py38-codestyle]
commands = <s>multilint</s>

然后只需将multilint以及您希望它运行的 linter(例如 flake8)放在您的requirements.txt中。

项目详情


下载文件

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

源分布

multilint-5.0.1.tar.gz (7.3 kB 查看哈希

已上传 source

内置分布

multilint-5.0.1-py3-none-any.whl (5.7 kB 查看哈希)

已上传 py3