python - 预提交x VSCode:env:python3.9:没有这样的文件或目录
问题描述
我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
解决方案
执行命令时似乎pyenv
没有被 VSCode 的源代码控制面板加载的问题。git
我尝试将一些东西(如$(pyenv init -)
)移动到较早的 zsh 配置文件.zshenv
中,但没有帮助。
最后,指定完整路径修复它
#!/usr/bin/env /Users/victor/.pyenv/shims/python3.9
# File generated by pre-commit: https://pre-commit.com
# ID: 138fd403232d2ddd5efb44317e38bf03
import os
import sys
...
推荐阅读
- c++ - 我们应该如何在结构中添加功能?
- javascript - 悬停时显示一个人的元素
- sql - 如何在 SQL Server 中构建父子层次结构(从根开始)?
- qgis - QField - 输入字段的输入表单中的子菜单
- mysql - 如何从 GCP 上的实例备份恢复单个数据库?
- sql - 您可以根据自定义逻辑重新排列 sql 表中的行吗?
- javascript - 如何使用带有 codeigniter 的 Select2 插件将多个数据插入我的数据库?
- r - For循环计算R中曲线下的面积(无功能)
- node.js - 使用 multer 将图像上传到 mongoDB Atlas 的策略?
- android - 在路径上找不到类:DexPathList 问题