繁体   English   中英

python 预提交和 pylint

[英]python pre-commit and pylint

我正在使用 Python 3.8.5(在 Visual Studio Code 中)、预提交和 pylint 设置一个项目。 在项目中,pylint 报告了 PyQt5 模块导入,因为它们基于 C。

为了不让 Pylint 报告此问题, 可以使用extension-pkg-whitelist=PyQt5配置.pylintrc文件。 这在 IDE 中运行良好。 此外,我像这样使用 pylint 设置了预提交,但 pylint 似乎忽略了值 PyQt5 因为预提交仍然报告 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)

来自官方文档的 Args 参考

Pylint 仍然接受参数,因为例如传递--errors-only确实有效。 在 cli 中使用这些确切参数调用 pylint 按预期工作:它不会报告 PyQt5,但通过预提交调用似乎不起作用。 我知道该参数已被注意到,因为省略“PyQt5”作为值会导致错误指出缺少参数。 因此,不知何故,该值的解析方式与 cli 中的解析方式不同。

我尝试了上面给出的格式, 这里的格式,我尝试像这样拆分参数args: [--extension-pkg-whitelist, PyQt5] ,我尝试添加单引号/双引号。 它似乎没有捡起它。

如何将 args 传递给需要键和值的钩子?

提前致谢

我对 pydantic 库也有类似的问题。 我必须将库添加为依赖项:

-   repo: https://github.com/pycqa/pylint
    rev: v2.9.6
    hooks:
    - id: pylint
      additional_dependencies:
        - 'pydantic'
      args:
        ["--extension-pkg-whitelist=pydantic"]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM