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

Poetry install --without ssh执行失败,如何忽略指定依赖组?

解决方案

首先明确问题根源:Poetry 1.x版本中,即使使用--without参数跳过指定依赖组,它仍会尝试解析所有依赖(包括私有Git仓库依赖)的元数据来构建完整的依赖图谱,这就导致了即使不安装ssh组,也会触发私有仓库的权限验证错误。

以下是两种最优解决方案:

方案一:用poetry export导出核心依赖后用pip安装

这种方法绕开了Poetry对所有依赖的强制解析,只处理需要安装的核心依赖:

  1. 在Dockerfile中替换原有的poetry install --without ssh命令,改为:
    poetry export --without ssh --format requirements.txt --output requirements.txt && pip install -r requirements.txt
    
  2. 该命令会将除ssh组外的所有依赖导出为标准的requirements.txt,再通过pip安装,完全不会触及私有仓库的依赖解析。

方案二:临时修改pyproject.toml跳过私有依赖解析

如果不想切换到pip安装,可以在Docker构建过程中临时注释ssh组的依赖定义,安装完成后再恢复(适合需要保留Poetry安装流程的场景):

  1. 在Dockerfile中添加以下步骤:
    # 临时注释ssh组的依赖
    sed -i '/\[tool.poetry.group.ssh.dependencies\]/,/^\[/ s/^/#/' pyproject.toml
    # 执行安装(此时无需--without ssh参数)
    poetry install
    # 恢复pyproject.toml的原始内容
    sed -i '/\[tool.poetry.group.ssh.dependencies\]/,/^\[/ s/^#//' pyproject.toml
    
    注:该sed命令适用于Linux环境,若使用Windows容器需调整命令。

补充说明

  • 若你的构建环境可以访问私有Git仓库,也可以通过在Docker构建阶段注入SSH密钥来解决权限问题,但这不符合你"跳过该组依赖安装"的需求,因此不做优先推荐。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 06:53:25