如何配置pre-commit的black钩子适配多Python版本运行环境
pre-commit black钩子多Python版本适配方案
报错原因
当前配置硬编码了language_version: python3.7参数,pre-commit运行时会强制寻找Python3.7解释器创建独立运行环境,当前环境不存在对应版本解释器就会抛出failed to find interpreter的错误。
调整方法
两种配置方案二选一即可:
方案1:删除固定版本配置
直接移除language_version配置项,pre-commit会自动适配当前环境的Python3解释器:
repos: - repo: https://github.com/ambv/black rev: 20.8b1 hooks: - id: black
方案2:指定Python3大版本
将language_version的值改为无小版本号的python3,明确指定使用Python3系列解释器:
repos: - repo: https://github.com/ambv/black rev: 20.8b1 hooks: - id: black language_version: python3
生效操作
配置修改完成后,执行以下命令清理之前的缓存环境,后续commit即可正常运行:
pre-commit clean
补充说明
相同版本的black在所有支持的Python版本下格式化结果完全一致,你当前使用的20.8b1版本兼容Python3.6~3.9,不会出现跨版本格式化结果不同的问题。
内容的提问来源于stack exchange,提问作者Cord Kaldemeyer
相关产品推荐
相关产品推荐

