使用 pylama 检查进口订单

Checking for imports order with pylama

我在 Jenkins CI 上使用 autoflake to automatically remove unused imports and variables from my code locally and pylama 检查代码的多项内容,包括未使用的导入和导入的变量 (W0611)。

现在介绍一下isort导入排序的项目

pylama 有没有办法检查导入是否正确排序?

我发现 isort 已经有了 pylama 插件。它在 isort repository 中实现并在 pylama 帮助输出中提到:

pylama -h
  ...
  --linters LINTERS, -l LINTERS
                        Select linters. (comma-separated). Choices are mccabe,
                        pep257,pydocstyle,pep8,pycodestyle,pyflakes,isort.

默认情况下未启用,因此您需要显式配置 pylama

pylama --linters isort file_to_test

或在pylama.ini配置文件中

[pylama]
linters = isort

Default linters 是 pycodestyle、pyflakes、mccabe)。

check -c相反,它不提供错误导入行的信息。如果出现问题,它总是显示相同的错误消息:

file_to_test.py:0: [I] Incorrectly sorted imports. [isort]