我使用pre-commit
在我的代码上运行black
flake8
和isort
。
我运行了pre-commit install
,不出所料,它创建了.git/hooks/pre-commit
,它的开头类似于:
#!/usr/bin/env python3.9
# File generated by pre-commit: https://pre-commit.com
# ID: 138fd403232d2ddd5efb44317e38bf03
import os
import sys
...
钩子在终端中工作正常:
$ git commit -am "remove commented block"
isort....................................................................Passed
black....................................................................Passed
flake8...................................................................Passed
[main f30007d] remove commented block
1 file changed, 4 deletions(-)
但是从VSCode的源代码控制面板运行它会产生一个错误(命令输出):
> git -c user.useConfigOnly=true commit --quiet --allow-empty-message --file -
env: python3.9: No such file or directory
不知道这是从哪里来的。另外(我不确定这有什么关系)我仔细检查了一下:终端的python
和VSCode选择的Python解释器都指向相同的/Users/victor/.pyenv/shims/python
发布于 2021-11-01 03:07:48
在执行git
命令时,VSCode的源代码控制面板没有加载pyenv
,这似乎是一个问题。
我试着把一些东西(比如$(pyenv init -)
)移到像.zshenv
这样的较早的zsh配置文件中,但是没有什么帮助。
最后,指定完整的路径可以修复它
#!/usr/bin/env /Users/victor/.pyenv/shims/python3.9
# File generated by pre-commit: https://pre-commit.com
# ID: 138fd403232d2ddd5efb44317e38bf03
import os
import sys
...
https://stackoverflow.com/questions/69784120
复制相似问题