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
644   2  

2 ответов:

У меня та же проблема в Windows, и я получаю pylintrc файл по:

pylint --generate-rcfile > ~/.pylintrc

В то время как я использую notepad++, чтобы открыть его, кодировка не является utf8, и я изменяю ее на utf8, тогда она работает.

К настоящему времени я решил эту проблему, просто используя копию моего файла pylintrc с mac. Проблема - насколько я понимаю-исходит из Windows Powershell. Когда я это сделаю

pylint --generate-rcfile > pylintrc

Он создает файл с кодировкой cp-1251.

Решение состоит в том, чтобы скопировать данные и вставить их в IDE/текстовый редактор, чтобы сохранить их в виде файла utf-8. Или просто (как я сделал) скопировать его из другой системы или из интернета.

Comments

    Ничего не найдено.