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 1:
Pylint message control is documented in the Pylint manual:
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
...
global VAR # pylint: disable=global-statement
The manual also has further examples.
There is a wiki that documents all Pylint messages and their codes.
Solution 2:
import config.logging_settings # pylint: disable=W0611
That was simple and is specific for that line.
You can and should use the more readable form:
import config.logging_settings # pylint: disable=unused-import
Solution 3:
In addition to the accepted answer:
You can re-enable the error checking adding pylint: enable:SPECIFIC_ERROR
For example, I have this in my code:
import time
import datetime
import os
import sys
# pylint: disable=import-error
import serial
# pylint: enable=import-error
This way you can ignore a single error on a single line without having to disable checking that error in the whole file