我正在使用 Python 3.8.5(在 Visual Studio Code 中)、预提交和 pylint 设置一个项目。在项目中 pylint 报告 PyQt5 模块导入,因为它们是基于 C 的。
为了不让 Pylint 对此进行报告,该.pylintrc
文件可以配置为extension-pkg-whitelist=PyQt5
. 这在 IDE 中运行良好。此外,我像这样使用 pylint 设置了 pre-commit,但 pylint 似乎忽略了 PyQt5 的值,因为 pre-commit 仍然报告 pyqt5 的导入错误
- repo: https://github.com/PyCQA/pylint
rev: pylint-2.5.0
hooks:
- id: pylint
args: [--extension-pkg-whitelist=PyQt5]
Main\main.py:1:0: E0401: Unable to import 'PyQt5.QtWidgets' (import-error)
Pylint 仍然接受参数,因为例如传递--errors-only
确实有效。在 cli 中使用这些确切参数调用 pylint 可以按预期工作:它不会报告 PyQt5,但通过 pre-commit 调用似乎不起作用。我知道该参数已被注意到,因为省略“PyQt5”作为值会导致错误指出缺少参数。因此,不知何故,该值的解析方式与 cli 中的解析方式不同。
我尝试了上面给出的格式,这里的格式,我尝试像这样拆分参数args: [--extension-pkg-whitelist, PyQt5]
,我尝试添加单/双引号。它似乎没有捡起它。
如何将 args 传递给需要键和值的钩子?
提前致谢