pre-commit安装isort 5.11.4失败,提示Poetry配置无效
解决pre-commit安装isort钩子时的Poetry配置错误
问题现象
构建流程中使用pre-commit安装isort钩子时失败,核心报错如下:
RuntimeError: The Poetry configuration is invalid: - [extras.pipfile_deprecated_finder.2] 'pip-shims<=0.3.4' does not match '^[a-zA-Z-_.0-9]+$'
解决方案
更新pre-commit钩子到最新版
运行以下命令自动更新所有pre-commit钩子,包含修复该问题的isort版本:pre-commit autoupdate也可以手动在
.pre-commit-config.yaml中指定isort的稳定版本(5.13.2及以上版本已修复该问题):- repo: https://github.com/pycqa/isort rev: 5.13.2 hooks: - id: isort清理pre-commit缓存
旧缓存中的隔离环境可能残留错误配置,执行清理后重新安装:pre-commit clean pre-commit install排查全局Poetry配置(可选)
若上述方法无效,检查是否存在全局Poetry配置冲突:poetry config --list若发现异常的
extras相关配置,删除对应条目即可。
原因说明
该错误源于Poetry的依赖配置格式校验规则:旧版本isort的pyproject.toml中,extras字段错误地包含了带版本限制的依赖字符串(pip-shims<=0.3.4),而Poetry要求该字段仅允许纯依赖名称(需符合^[a-zA-Z-_.0-9]+$正则)。升级isort到修复该配置问题的版本即可解决冲突。
内容的提问来源于stack exchange,提问作者bagerard
相关产品推荐
相关产品推荐

