По умолчанию pylintrc полностью отключает pylint

Все, что я хочу сделать, это использовать generated-members= строка для отключения ложных ошибок "no-members" для нескольких пакетов.

Итак, в терминале VS Code, в корневом каталоге моего проекта, я запускаю:

pylint --generate-rcfile > .pylintrc

Все предупреждения Linting немедленно исчезают, даже прежде чем я что-то изменить в файле RC. Единственный способ вернуть их - удалить.pylintrc. Что я делаю неправильно?

2 ответа

Решение

Я смог диагностировать проблему и найти обходной путь. Проблема заключалась в том, что rcfile генерировался в неправильной кодировке. Бег pylint mymodule дал следующую ошибку:

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte

как описано здесь.

Я не нашел способа заставить pylint генерировать файл конфигурации в правильной кодировке, но в качестве обходного пути я просто открыл файл.pylintrc в Notepad++, изменил там кодировку на UTF-8, а затем сохранил файл. После этого файл.pylintrc остается в правильной кодировке даже с последующими изменениями в VS Code, что позволяет linting работать правильно.

Я нашел решение, которое работало на моем ПК с Windows.

Я установил виртуальную машину Linux, где настроил PyCharm и Pylint. Затем я создал репозиторий GitHub для загрузки файла .pylintrc на виртуальную машину Linux. Наконец, я скачал в Windows файл .pylintrc из репозитория и указал путь к этому файлу в конфигурации Pylint.

Это сработало даже после внесения изменений в .pylintrc. Основная ошибка, с которой я столкнулся, заключалась в том, что иногда (при запуске Pylint) использовалась предыдущая версия .pylintrc вместо текущей, но это можно исправить, перезапустив Pycharm.

Другие вопросы по тегам