为 python 使用多种语言版本的黑色预提交挂钩
Use pre-commit hook for black with multiple language versions for python
我们在 .pre-commit-config.yaml
中使用具有以下配置的 pre-commit to format our Python code using black:
repos:
- repo: https://github.com/ambv/black
rev: 20.8b1
hooks:
- id: black
language_version: python3.7
由于我们的软件包是针对不同的 Python 版本进行测试和使用的(例如 3.7
、3.8
、3.9
),我希望能够使用 pre -commit 挂钩不同的 Python 版本。但是在提交代码时,例如在 Python 3.8
上,由于我的配置中的 language_version
出现错误(见上文):
C:\Users\FooBar\Documents\Programmierung\foo (dev -> origin)
λ git commit -m "Black file with correct black version"
[INFO] Initializing environment for https://github.com/ambv/black.
[INFO] Installing environment for https://github.com/ambv/black.
[INFO] Once installed this environment will be reused.
[INFO] This may take a few minutes...
An unexpected error has occurred: CalledProcessError: command: ('c:\users\FooBar\anaconda\python.exe', '-mvirtualenv', 'C:\Users\FooBar\.cache\pre-commit\repobmlg3b_m\py_env-python3.7', '-p', 'python3.7')
return code: 1
expected return code: 0
stdout:
RuntimeError: failed to find interpreter for Builtin discover of python_spec='python3.7'
stderr: (none)
Check the log at C:\Users\FooBar\.cache\pre-commit\pre-commit.log
如何在不同的 Python 版本上启用预提交挂钩,例如仅在 Python 3?
提前致谢!
一种方法是设置 language_version: python3
(这曾经是 black
的默认设置)——您在那里实际使用的 language_version
并不重要,因为black 不使用它来选择格式化的语言目标(这是一个单独的选项)
不过,一般来说,您不需要将 language_version
设置为 (1) 挂钩本身会设置一个合适的,或者 (2) 它会默认为您当前的 运行 python
另请注意:您使用的是已弃用两次的 url 黑色 - 现在是 psf/black
__
免责声明:我创建了预提交并且我是黑人贡献者
我们在 .pre-commit-config.yaml
中使用具有以下配置的 pre-commit to format our Python code using black:
repos:
- repo: https://github.com/ambv/black
rev: 20.8b1
hooks:
- id: black
language_version: python3.7
由于我们的软件包是针对不同的 Python 版本进行测试和使用的(例如 3.7
、3.8
、3.9
),我希望能够使用 pre -commit 挂钩不同的 Python 版本。但是在提交代码时,例如在 Python 3.8
上,由于我的配置中的 language_version
出现错误(见上文):
C:\Users\FooBar\Documents\Programmierung\foo (dev -> origin)
λ git commit -m "Black file with correct black version"
[INFO] Initializing environment for https://github.com/ambv/black.
[INFO] Installing environment for https://github.com/ambv/black.
[INFO] Once installed this environment will be reused.
[INFO] This may take a few minutes...
An unexpected error has occurred: CalledProcessError: command: ('c:\users\FooBar\anaconda\python.exe', '-mvirtualenv', 'C:\Users\FooBar\.cache\pre-commit\repobmlg3b_m\py_env-python3.7', '-p', 'python3.7')
return code: 1
expected return code: 0
stdout:
RuntimeError: failed to find interpreter for Builtin discover of python_spec='python3.7'
stderr: (none)
Check the log at C:\Users\FooBar\.cache\pre-commit\pre-commit.log
如何在不同的 Python 版本上启用预提交挂钩,例如仅在 Python 3?
提前致谢!
一种方法是设置 language_version: python3
(这曾经是 black
的默认设置)——您在那里实际使用的 language_version
并不重要,因为black 不使用它来选择格式化的语言目标(这是一个单独的选项)
不过,一般来说,您不需要将 language_version
设置为 (1) 挂钩本身会设置一个合适的,或者 (2) 它会默认为您当前的 运行 python
另请注意:您使用的是已弃用两次的 url 黑色 - 现在是 psf/black
__
免责声明:我创建了预提交并且我是黑人贡献者