我想做的就是使用
generated-members=
行来禁用多个包的错误“无成员”错误。
所以,在 VS Code 终端中,在我的项目根目录中,我运行:
pylint --generate-rcfile > .pylintrc
All linting 警告立即消失,甚至在我更改 rc 文件中的任何内容之前。我能够恢复它们的唯一方法是删除 .pylintrc。我做错了什么?
我能够诊断问题并找到解决方法。问题是 rcfile 是以错误的编码生成的。运行
pylint mymodule
出现以下错误:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
如here所述。
我没有找到让 pylint 以正确编码生成配置文件的方法,但作为解决方法,我只是在 Notepad++ 中打开 .pylintrc 文件,在那里将编码更改为 UTF-8,然后保存文件。之后,即使在 VS Code 中进行后续编辑,.pylintrc 文件也会保持正确的编码,从而使 linting 正常工作。
我找到了适用于我的 Windows PC 的解决方案。
我安装了一个 Linux VM,我在其中配置了 PyCharm 和 Pylint。然后,我创建了一个 GitHub 存储库,用于在 Linux VM 上上传 .pylintrc 文件。最后,我在 Windows 上从存储库下载了 .pylintrc 文件,并在 Pylint 的配置中指定了该文件的路径。
即使在对 .pylintrc 进行更改后,它仍然有效。我遇到的主要错误是有时(运行 Pylint 时)它会使用以前版本的 .pylintrc,而不是当前版本,但可以通过重新启动 Pycharm 来修复。