Как настроить Pylint только для некоторых проверок

Я пытаюсь настроить Pylint только для определенных проверок и никаких других, например, только для проверки W0601 и W0612. Я пробовал использовать enable= линия в [MESSAGES CONTROL] раздел моего pylint.rc, но это, похоже, не делает то, что я хочу.

Я использую Pylint 0.25.1.

3 ответов


похоже на ошибку с тем, как анализируются rc-файлы.

порядок имеет значение в командной строке (недокументированный?) поэтому вам нужно сначала отключить, а затем включить:

pylint xyz.py --disable R,C,W,E --enable W0601,W0612

но это не отражается правильно с --generate-rcfile и не работает с --rcfile ...это, наверное, жуки. Как #36584.

в rc-файле с отключенной строкой все сообщения отключаются, даже с отключением перед включением, как в команде линия.

[MESSAGES CONTROL]
disable=R,C,W,E
enable=W0601,W0612

в Pylint >= 0.27 появляется новый --disable=all опции

pylint --disable=all --enable=W0201

или

pylint -d all -e W0201

вы можете поместить его в rc-файл, но как анероид указывает на ошибку, которая означает, что вы не можете включить какие-либо сообщения, кроме как из командной строки, поэтому:

[MESSAGES CONTROL]
disable=all

затем

pylint -e W0201

будет работать.


@aneroid: вы можете быть правы, что может быть проблема с порядком при создании/чтении файла конфигурации; а также тот факт, что порядок имеет значение в командной строке, должен быть задокументирован. Я planified и прокомментировал билета вы обратитесь к соответственно.

@peter-graham, поэтому вам, вероятно, придется использовать командную строку для достижения этого, пока билет #36584 не будет исправлен. Я бы рекомендовал:

pylint --disable-all --enable=W0601,W0612