Search code examples
pythonpylint

Is it possible to ignore one single specific line with Pylint?


I have the following line in my header:

import config.logging_settings

This actually changes my Python logging settings, but Pylint thinks it is an unused import. I do not want to remove unused-import warnings in general, so is it possible to just ignore this one specific line?

I wouldn't mind having a .pylintrc for this project, so answers changing a configuration file will be accepted.

Otherwise, something like this will also be appreciated:

import config.logging_settings # pylint: disable-this-line-in-some-way

Solution

  • Message control is documented in the pylint FAQ:

    Is it possible to locally disable a particular message?

    Yes, this feature has been added in Pylint 0.11. This may be done by adding "# pylint: disable=some-message,another-one" at the desired block level or at the end of the desired line of code.

    You can use the message code or the symbolic names.

    For example,

    def test():
        # Disable all the no-member violations in this function
        # pylint: disable=no-member
        ...
        # pylint: enable=no-member
    

    apply to a specific line only:

    global VAR  # pylint: disable=global-statement
    

    or for less verbosity, disable the ONLY following line (pylint 2.10+):

    # pylint: disable-next=global-statement
    global VAR
    

    Pylint's manual also has further examples.

    There is a wiki that documents all pylint messages and their codes.