Pylint在visual studio cod中不工作

2024-06-06 21:52:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Mac上使用Visual Studio代码作为python IDE,一切都很好。但几周前我开始使用Windows。突然间,我无法在Mac上启动的项目中使用pylint。

我有

  • 显式激活的pylintEnabled选项(=True)
  • 已设置pylint.exe的完整路径(“c:\ Anaconda 3…”)
  • pylintrc带有初始钩子的文件,将项目添加到根目录中的pythonpath(由pylint使用--generate rcfile生成)。

使用相同的参数,在Linux(Ubuntu 16.10)和Mac上一切正常。不能在两台Windows机器上工作。看来塔林特不跑了。

我哪里做错了?

更新:

我发现pylint得到了UnicodedeCoding错误:

##########Linting Output - pylint##########

Traceback (most recent call last):
  File "C:\Program Files\Anaconda3\Scripts\pylint-script.py", line 5, in <module>
    sys.exit(pylint.run_pylint())
  File "C:\Program Files\Anaconda3\lib\site-packages\pylint\__init__.py", line 13, in run_pylint
    Run(sys.argv[1:])
  File "C:\Program Files\Anaconda3\lib\site-packages\pylint\lint.py", line 1264, in __init__
    linter.read_config_file()
  File "C:\Program Files\Anaconda3\lib\site-packages\pylint\config.py", line 627, in read_config_file
    parser.readfp(fp)
  File "C:\Program Files\Anaconda3\lib\configparser.py", line 760, in readfp
    self.read_file(fp, source=filename)
  File "C:\Program Files\Anaconda3\lib\configparser.py", line 715, in read_file
    self._read(f, source)
  File "C:\Program Files\Anaconda3\lib\configparser.py", line 1012, in _read
    for lineno, line in enumerate(fp, start=1):
  File "C:\Program Files\Anaconda3\lib\codecs.py", line 321, in decode
    (result, consumed) = self._buffer_decode(data, self.errors, final)
  File "C:\Program Files\Anaconda3\lib\encodings\utf_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:道具解决方案(感谢Elijah W.Gagne的评论) 这很管用:

pylint --generate-rcfile | out-file -encoding utf8 .pylintrc

Tags: inpyselfreadmacliblinefiles
2条回答

到现在为止,我已经解决了这个问题,只需要使用一个来自mac的pylintrc文件的副本。 据我所知,问题来自Windows Powershell。 当我这样做的时候

pylint --generate-rcfile > pylintrc

它创建一个编码为cp-1251的文件。

解决方案是复制数据并将其粘贴到IDE/text编辑器中,将其保存为utf-8文件。或者简单地(就像我做的那样)从另一个系统或者网络上复制它。

我在Windows中也有同样的问题,我通过以下方式获取pylintrc文件:

pylint --generate-rcfile > ~/.pylintrc

当我使用notepad++打开它时,编码不是utf8,我将其更改为utf8,然后它就工作了。

相关问题 更多 >