python:pycodestyle(ex-pep8)与pylint严格性

python:pycodestyle(ex-pep8)与pylint严格性,python,python-3.x,pylint,pep8,pycodestyle,Python,Python 3.x,Pylint,Pep8,Pycodestyle,我有一个python项目,我想检查它是否符合PEP8的要求 我的setyp.cfg如下所示: [pycodestyle] count = True ignore = E266, W504 max-line-length = 80 statistics = True exclude = .venv,./build% 经过一些清理后,我的pycodestyle检查现在没有显示错误或警告(当然忽略了那些错误或警告) 但是,对我的项目运行pylint会产生大量错误: (其中一些仅用于演示) 这两种工具

我有一个
python
项目,我想检查它是否符合
PEP8
的要求

我的
setyp.cfg
如下所示:

[pycodestyle]
count = True
ignore = E266, W504
max-line-length = 80
statistics = True
exclude = .venv,./build%
经过一些清理后,我的
pycodestyle
检查现在没有显示错误或警告(当然忽略了那些错误或警告)

但是,对我的项目运行
pylint
会产生大量错误:

其中一些仅用于演示)


这两种工具怎么会产生如此不一致的结果呢?

我刚刚在比较
pycodestyle
pylint
我自己时,遇到了这个问题

简言之,答案是
pycodestyle
pylint
的“子集”。让我引用一下:

  • Pycodestyle(前身为PEP8)是官方的linter工具,用于对照PEP8 python的样式约定检查python代码
  • Pylint是一个python linter,它检查源代码,还充当bug和质量检查器。它有比PEP8(Python风格指南)更多的验证检查和选项。
    • 这是python中最常用的linting工具
    • 它包括以下功能:
      • 检查每行的长度
      • 根据项目的编码标准检查变量名的格式是否正确
      • 检查声明的接口是否真正实现
~/Workspace/my-app  master ✔                                                                                                                        2h36m
➢  pycodestyle .
(.venv)
~/Workspace/my-app  master ✔
************* Module somemodule.commands
src/somemodule/commands.py:98:0: C0330: Wrong continued indentation (add 16 spaces).
                            format(gcp_project)))
                            ^               | (bad-continuation)
src/somemodule/commands.py:1:0: C0111: Missing module docstring (missing-docstring)
src/somemodule/commands.py:21:-1: W0105: String statement has no effect (pointless-string-statement)
src/somemodule/commands.py:29:4: C0103: Variable name "p" doesn't conform to snake_case naming style (invalid-name)
src/somemodule/commands.py:45:4: C0103: Variable name "p" doesn't conform to snake_case naming style (invalid-name)
src/somemodule/commands.py:41:16: W0613: Unused argument 'g_project' (unused-argument)
src/somemodule/commands.py:58:0: C0111: Missing function docstring (missing-docstring)
src/somemodule/commands.py:59:4: C0103: Variable name "p" doesn't conform to snake_case naming style (invalid-name)
src/somemodule/commands.py:100:4: R1705: Unnecessary "else" after "return" (no-else-return)
src/somemodule/commands.py:102:8: C0103: Variable name "p2" doesn't conform to snake_case naming style (invalid-name)
src/somemodule/commands.py:123:4: C0103: Variable name "p" doesn't conform to snake_case naming style (invalid-name)
src/somemodule/commands.py:139:0: C0111: Missing function docstring (missing-docstring)
src/somemodule/commands.py:2:0: C0411: standard import "import os" should be placed before "import click" (wrong-import-order)
src/somemodule/commands.py:3:0: C0411: standard import "import sys" should be placed before "import click" (wrong-import-order)
src/somemodule/commands.py:5:0: C0411: standard import "from subprocess import Popen, PIPE" should be placed before "import click" (wrong-import-order)