Skip to content

there is no configuration that allows six.moves #551

Closed
@pylint-bot

Description

@pylint-bot

Originally reported by: Buck Evan (BitBucket: bukzor, GitHub: @bukzor?)


I realize you've closed a similar issue lately, but it's still a bug that the "ignore" configurations don't cover this case. There are black-magical modules other than six, and they should have some small amount of support via configuration.

My versions:

$ ./.tox/py34/bin/python3.4 --version
Python 3.4.2

$ ./.tox/py34/bin/python3.4 -m pylint --version
__main__.py 1.4.3,
astroid 1.3.6, common 0.63.2
Python 3.4.2 (default, Oct 11 2014, 17:59:27)
[GCC 4.4.3]

My demo code:

import six
print(six.moves.urllib.parse.urlsplit(''))

from six import moves
print(moves.urllib.parse.urlsplit(''))

from six.moves import urllib
print(urllib.parse.urlsplit(''))

from six.moves.urllib import parse
print(parse.urlsplit(''))

from six.moves.urllib.parse import urlsplit
print(urlsplit(''))

Its output:

$ ./.tox/py34/bin/python3.4 demo.py
SplitResult(scheme='', netloc='', path='', query='', fragment='')
SplitResult(scheme='', netloc='', path='', query='', fragment='')
SplitResult(scheme='', netloc='', path='', query='', fragment='')
SplitResult(scheme='', netloc='', path='', query='', fragment='')
SplitResult(scheme='', netloc='', path='', query='', fragment='')

My pylintrc:

[TYPECHECK]
ignored-classes=
      pytest,
      RFC3986,
      _MovedItems,
      six,
      six.moves,
ignored-modules=
      six,
      six.moves,

The pylint report:

$ ./.tox/py34/bin/python3.4 -m pylint demo.py
************* Module demo
F:  7, 0: Unable to import 'six.moves' (import-error)
F: 10, 0: Unable to import 'six.moves.urllib' (import-error)
F: 13, 0: Unable to import 'six.moves.urllib.parse' (import-error)

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