使用预提交时在 VSCode 版本控制中访问 python 解释器

Meh*_*hdi 7 python pre-commit pre-commit-hook visual-studio-code pre-commit.com

我在大多数 Python 项目中使用预提交,并且在其中许多项目中,我需要使用 pylint 作为本地存储库。当我想要提交时,我总是必须激活 python venv 然后提交;否则,我会收到以下错误:

black....................................................................Passed
pylint...................................................................Failed
- hook id: pylint
- exit code: 1

Executable `pylint` not found
Run Code Online (Sandbox Code Playgroud)

当我使用vscode版本控制提交时,我得到同样的错误;我搜索了这个问题,但没有找到任何解决方案来避免 VSCode 中的错误。

这是我的典型.pre-commit-config.yaml

repos:
-   repo: https://github.com/ambv/black
    rev: 21.9b0
    hooks:
    - id: black
      language_version: python3.8
      exclude: admin_web/urls\.py
-   repo: local
    hooks:
    -   id: pylint
        name: pylint
        entry: pylint
        language: python
        types: [python]
        args: 
         - --rcfile=.pylintrc

Run Code Online (Sandbox Code Playgroud)

Ant*_*ile 5

你在这里基本上有两个选择——两个都不是很好(language: system有点不受支持的逃生舱口,所以你需要让这些东西可用PATH

您可以使用 virtualenv 的特定路径entry: venv/bin/pylint——尽管这会降低可移植性。

或者你可以在激活 virtualenv 的情况下启动 vscode(通常code .)——如果 vscode 已经在运行,这并不总是有效


免责声明:我创建了预提交