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

Poetry安装特定依赖遇版本冲突的最优解决方法

依赖版本冲突的最优解决方法

问题背景

使用Python 3.12环境,项目pyproject.toml配置如下:

[tool.poetry.dependencies]
python = "^3.12"
omegaconf = { version = "2.3.0", source = "pypi-acme" }
azure-cli = { version = "2.72.0", source = "pypi-acme" }

执行安装命令:

poetry config virtualenvs.create false \
&& rm -rf ~/.cache/pypoetry \
&& poetry install --no-interaction --no-root

出现依赖冲突错误:

Because azure-cli (2.72.0) depends on antlr4-python3-runtime (>=4.13.1,<4.14.0)
 and omegaconf (2.3.0) depends on antlr4-python3-runtime (==4.9.*), azure-cli (2.72.0) is incompatible with omegaconf (2.3.0).
So, because acme-dev depends on both omegaconf (2.3.0) and azure-cli (2.72.0), version solving failed.

最优解决方法

升级omegaconf到2.4.0及以上版本。

原因

omegaconf 2.3.0对antlr4-python3-runtime的依赖被严格限制为==4.9.*,而azure-cli 2.72.0要求该依赖版本在>=4.13.1,<4.14.0区间,二者无法兼容。从omegaconf 2.4.0开始,其对antlr4-python3-runtime的依赖范围放宽为>=4.9,<4.15,完全覆盖azure-cli所需的版本区间,可解决冲突。

操作步骤

  1. 修改pyproject.toml中的omegaconf版本:
[tool.poetry.dependencies]
python = "^3.12"
omegaconf = { version = "^2.4.0", source = "pypi-acme" }
azure-cli = { version = "2.72.0", source = "pypi-acme" }
  1. 重新执行原安装命令即可完成依赖安装。

其他可选方案(非最优)

  • 降级azure-cli到依赖antlr4-python3-runtime==4.9.*的旧版本,但会丢失azure-cli的新功能与安全更新,不推荐。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 04:03:26