You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行pre-commit报AssertionError: black requires Python 3.6+但已装Python3.8如何解决

报错原因

AssertionError: black requires Python 3.6+报错的核心原因是你当前使用的1.15.2版本pre-commit版本过旧,对Python版本的识别逻辑存在缺陷,不会优先调用你本地安装的Python3.8,而是默认匹配到了系统中存在的Python3.5及以下版本来运行black钩子。

解决步骤
  • 方案1:升级pre-commit到最新稳定版(优先推荐)
    执行以下命令升级pre-commit,清理旧的钩子运行环境后重新执行检查即可:
    pip install --upgrade pre-commit
    pre-commit clean
    pre-commit run --all-files
    
  • 方案2:手动指定black钩子的Python版本(无法升级pre-commit时使用)
    先查询本地Python3.8的绝对路径:
    • Linux/macOS执行:which python3.8
    • Windows执行:where python3.8
      打开项目根目录下的.pre-commit-config.yaml配置文件,找到black对应的钩子配置,新增language_version参数指定使用Python3.8:
    • repo: https://github.com/psf/black
      rev: 22.3.0
      hooks:
      • id: black
        # 新增下面这行,版本号和你本地的3.8版本匹配即可
        language_version: python3.8
        配置修改完成后执行pre-commit clean && pre-commit run --all-files验证是否修复。
  • 方案3:使用Python3.8独立运行pre-commit
    直接通过Python3.8的pip重新安装pre-commit,运行时指定用Python3.8调用pre-commit,全程避免版本识别错误:
    python3.8 -m pip install pre-commit
    python3.8 -m pre-commit run --all-files
    

内容的提问来源于stack exchange,提问作者Raphael

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 07:39:02