簡體   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