使用Poetry安装black与safety时出现版本兼容错误求助
解决Poetry中Black与Safety的依赖冲突问题
冲突原因
Black 23.3.0要求packaging>=22.0,而Safety 2.3.5要求packaging<22.0,两者对packaging库的版本需求互斥,导致依赖解析失败。
解决方案
方案1:升级Safety到3.x版本
Safety 3.x系列已更新packaging的依赖约束,可兼容Black 23.3.0。执行以下命令替换原有Safety版本:
poetry add safety@^3.0.0 --group dev
之后重新安装依赖:
poetry install
方案2:降级Black到兼容Safety 2.3.5的版本
选择Black 22.x系列(如22.12.0),其packaging依赖为>=21.3,与Safety 2.3.5的约束兼容。执行命令:
poetry add black@^22.12.0 --group dev
再执行安装:
poetry install
方案3:让Poetry自动匹配兼容版本组合
删除当前的poetry.lock文件,重新执行添加命令,让Poetry自动寻找所有依赖的兼容版本:
rm poetry.lock poetry add black flake8 flake8-import-order flake8-docstrings flake8-black flake8-bugbear safety mypy pytest-cov pytest --group dev
内容的提问来源于stack exchange,提问作者winter
相关产品推荐
相关产品推荐

