Pylint не работает в коде visual studio
Я использую Visual Studio code как Python IDE на Mac, и все работает нормально для меня. Но пару недель назад я начал пользоваться Windows. И вдруг я не могу использовать pylint в проекте, который я начал на Mac.
У меня есть
- явно активированный параметр pylintEnabled (=True)
- полный путь к pylint.exe установлен ("c:Anaconda 3...")
pylintrcфайл с начальным крюком, добавляющим проект в pythonpath (генерируемый pylint с помощью --generate-rcfile) в корне справочник.
С теми же самыми параметрами все прекрасно работает как на Linux (Ubuntu 16.10), так и на Mac. И не работает на двух оконных машинах. Похоже, что пилинт просто не работает.
Где я ошибся?
Обновление:
Я обнаружил, что pylint получает UnicodeDecodingError:
##########Linting Output - pylint##########
Traceback (most recent call last):
File "C:Program FilesAnaconda3Scriptspylint-script.py", line 5, in <module>
sys.exit(pylint.run_pylint())
File "C:Program FilesAnaconda3libsite-packagespylint__init__.py", line 13, in run_pylint
Run(sys.argv[1:])
File "C:Program FilesAnaconda3libsite-packagespylintlint.py", line 1264, in __init__
linter.read_config_file()
File "C:Program FilesAnaconda3libsite-packagespylintconfig.py", line 627, in read_config_file
parser.readfp(fp)
File "C:Program FilesAnaconda3libconfigparser.py", line 760, in readfp
self.read_file(fp, source=filename)
File "C:Program FilesAnaconda3libconfigparser.py", line 715, in read_file
self._read(f, source)
File "C:Program FilesAnaconda3libconfigparser.py", line 1012, in _read
for lineno, line in enumerate(fp, start=1):
File "C:Program FilesAnaconda3libcodecs.py", line 321, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
File "C:Program FilesAnaconda3libencodingsutf_8_sig.py", line 69, in _buffer_decode
return codecs.utf_8_decode(input, errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
Обновление 2
Я получаю эту ошибку, используя файл pylintrc, созданный автоматически. Без этого файла все работает отлично (кроме того, что я не могу заставить замолчать некоторые уведомления, используйте плагин pylint_flask и сделайте первоначальный крюк).
Обновление 3: решение propper (благодаря комментарию Elijah W. Gagne)
Это прекрасно работает:
pylint --generate-rcfile | out-file -encoding utf8 .pylintrc
2 ответов:
У меня та же проблема в Windows, и я получаю
pylintrcфайл по:pylint --generate-rcfile > ~/.pylintrcВ то время как я использую
notepad++, чтобы открыть его, кодировка не являетсяutf8, и я изменяю ее наutf8, тогда она работает.
К настоящему времени я решил эту проблему, просто используя копию моего файла pylintrc с mac. Проблема - насколько я понимаю-исходит из Windows Powershell. Когда я это сделаю
pylint --generate-rcfile > pylintrcОн создает файл с кодировкой
Решение состоит в том, чтобы скопировать данные и вставить их в IDE/текстовый редактор, чтобы сохранить их в виде файлаcp-1251.utf-8. Или просто (как я сделал) скопировать его из другой системы или из интернета.
Comments