Skip to content

Mix packages and modules in command line parameters for Pylint #818

@oleg-babintsev

Description

@oleg-babintsev

Pylint is meant to be called from the command line. The usage is

pylint [options] modules_or_packages

You shoud passed modules OR packages. If you pass mix of modules and packages you should check that its not intercect between each other, because Pylint searches modules in packages and we got double messages in report (can live with it) or code duplication message in bad case (its a problem).

Test project (https://drive.google.com/file/d/13n1RZFdgwitfgUDOv76ZMYOPIrBYVsAT/view?usp=sharing):

a/__init__.py
a/module.py
a/b/__init__.py
a/b/module.py
b/__init__.py
b/module.py

Run pyb analyze -X:

[INFO]  Executing pylint on project sources
[DEBUG] Executing command: 'c:\\work\\projects\\misc\\pybuilder-pylint-issue\\.pybuilder\\plugins\\cpython-3.9.7.final.0\\scripts\\pylint.EXE' '--max-line-length=100' '--no-docstring-rgx=.*' 'a.module' 'a' 'a.b.module' 'a.b' 'b.module' 'b'

Report:

************* Module a.module
c:\work\projects\misc\pybuilder-pylint-issue\src\main\python\a\module.py:1:0: C0114: Missing module docstring (missing-module-docstring)
c:\work\projects\misc\pybuilder-pylint-issue\src\main\python\a\module.py:1:0: W0611: Unused import sys (unused-import)
c:\work\projects\misc\pybuilder-pylint-issue\src\main\python\a\module.py:1:0: C0114: Missing module docstring (missing-module-docstring)
c:\work\projects\misc\pybuilder-pylint-issue\src\main\python\a\module.py:1:0: W0611: Unused import sys (unused-import)
************* Module a.b.module
c:\work\projects\misc\pybuilder-pylint-issue\src\main\python\a\b\module.py:1:0: C0114: Missing module docstring (missing-module-docstring)
c:\work\projects\misc\pybuilder-pylint-issue\src\main\python\a\b\module.py:1:0: W0611: Unused import sys (unused-import)
c:\work\projects\misc\pybuilder-pylint-issue\src\main\python\a\b\module.py:1:0: C0114: Missing module docstring (missing-module-docstring)
c:\work\projects\misc\pybuilder-pylint-issue\src\main\python\a\b\module.py:1:0: W0611: Unused import sys (unused-import)
c:\work\projects\misc\pybuilder-pylint-issue\src\main\python\a\b\module.py:1:0: C0114: Missing module docstring (missing-module-docstring)
c:\work\projects\misc\pybuilder-pylint-issue\src\main\python\a\b\module.py:1:0: W0611: Unused import sys (unused-import)
************* Module b.module
c:\work\projects\misc\pybuilder-pylint-issue\src\main\python\b\module.py:1:0: C0114: Missing module docstring (missing-module-docstring)
c:\work\projects\misc\pybuilder-pylint-issue\src\main\python\b\module.py:5:0: C0103: Function name "b" doesn't conform to snake_case naming style (invalid-name)
c:\work\projects\misc\pybuilder-pylint-issue\src\main\python\b\module.py:1:0: W0611: Unused import sys (unused-import)
c:\work\projects\misc\pybuilder-pylint-issue\src\main\python\b\module.py:2:0: W0611: Unused module imported from a as a (unused-import)
c:\work\projects\misc\pybuilder-pylint-issue\src\main\python\b\module.py:1:0: C0114: Missing module docstring (missing-module-docstring)
c:\work\projects\misc\pybuilder-pylint-issue\src\main\python\b\module.py:5:0: C0103: Function name "b" doesn't conform to snake_case naming style (invalid-name)
c:\work\projects\misc\pybuilder-pylint-issue\src\main\python\b\module.py:1:0: W0611: Unused import sys (unused-import)
c:\work\projects\misc\pybuilder-pylint-issue\src\main\python\b\module.py:2:0: W0611: Unused module imported from a as a (unused-import)
c:\work\projects\misc\pybuilder-pylint-issue\src\main\python\b\module.py:1:0: R0801: Similar lines in 2 files
==b.module:[0:6]
==b.module:[0:6]
import sys
from a import module as a
from a.b import module as ab

def b():
    print('b') (duplicate-code)

------------------------------------------------------------------

Your code has been rated at 0.50/10 (previous run: 0.50/10, +0.00)

If I execute Pylint and pass only modules or only packages - all works great.

pylint 'a' 'b':

************* Module a.module
a\module.py:1:0: C0114: Missing module docstring (missing-module-docstring)
a\module.py:1:0: W0611: Unused import sys (unused-import)
************* Module a.b.module
a\b\module.py:1:0: C0114: Missing module docstring (missing-module-docstring)
a\b\module.py:1:0: W0611: Unused import sys (unused-import)
************* Module b.module
b\module.py:1:0: C0114: Missing module docstring (missing-module-docstring)
b\module.py:5:0: C0103: Function name "b" doesn't conform to snake_case naming style (invalid-name)
b\module.py:5:0: C0116: Missing function or method docstring (missing-function-docstring)
b\module.py:1:0: W0611: Unused import sys (unused-import)
b\module.py:2:0: W0611: Unused module imported from a as a (unused-import)

------------------------------------------------------------------
Your code has been rated at 0.00/10 (previous run: 0.00/10, +0.00)

pylint 'a.module' 'a.b.module' 'b.module':

************* Module a.module
a\module.py:1:0: C0114: Missing module docstring (missing-module-docstring)
a\module.py:1:0: W0611: Unused import sys (unused-import)
************* Module a.b.module
a\b\module.py:1:0: C0114: Missing module docstring (missing-module-docstring)
a\b\module.py:1:0: W0611: Unused import sys (unused-import)
************* Module b.module
b\module.py:1:0: C0114: Missing module docstring (missing-module-docstring)
b\module.py:5:0: C0103: Function name "b" doesn't conform to snake_case naming style (invalid-name)
b\module.py:5:0: C0116: Missing function or method docstring (missing-function-docstring)
b\module.py:1:0: W0611: Unused import sys (unused-import)
b\module.py:2:0: W0611: Unused module imported from a as a (unused-import)

------------------------------------------------------------------
Your code has been rated at 0.00/10 (previous run: 0.00/10, +0.00)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions