По умолчанию 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.