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

如何通过Poetry从GitHub安装包时加载指定依赖Groups?

解决方法

要让下游项目通过Poetry从GitHub引入myutils时能安装指定依赖组,核心是把myutils的依赖组映射为Poetry的extras,步骤如下:

1. 修改myutils的pyproject.toml,关联依赖组与extras

Poetry的依赖组(dependency groups)和extras是独立概念,需显式映射才能让下游识别。在myutils的配置文件中添加extras映射:

# 保留原有的依赖组定义
[tool.poetry.group.visualisation.dependencies]
# 示例依赖,可替换为实际内容
matplotlib = "^3.7"
seaborn = "^0.12"

[tool.poetry.group.types-stubs.dependencies]
# 示例依赖,可替换为实际内容
types-requests = "^2.31"
types-pandas = "^2.0"

# 添加依赖组到extras的映射
[tool.poetry.extras]
visualisation = ["group:visualisation"]
types-stubs = ["group:types-stubs"]

2. 下游项目引入myutils时指定extras

在downstreamrepo的pyproject.toml中,通过extras参数指定需要的依赖组:

[tool.poetry.dependencies]
# 仅安装types-stubs组依赖
myutils = { git = "https://github.com/你的组织/myutils.git", extras = ["types-stubs"] }

# 如需同时安装多个组,用逗号分隔
# myutils = { git = "https://github.com/你的组织/myutils.git", extras = ["types-stubs", "visualisation"] }

执行poetry install后,下游项目就会自动安装myutils及对应依赖组的所有依赖。

原问题原因

之前用extras参数无效,是因为myutils未将依赖组映射为extras——Poetry默认不会把内部依赖组暴露为可供下游选择的extras,必须手动配置映射关系。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 02:14:57