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

如何在一个Poetry构建的模块中使用另一Poetry构建的私有模块

私有Poetry包依赖配置解决方案

最佳实践流程

你无法直接用poetry add拉取私有包的核心原因是Poetry默认没有配置你的GitLab私有仓库索引,按以下步骤配置即可:

  • 首先在Poetry中添加GitLab私有源,推荐设置为supplemental优先级,避免公共包被私有源劫持:
poetry source add --priority=supplemental gitlab_pypi https://<你的GitLab域名>/api/v4/projects/<对应module_a的项目ID>/packages/pypi/simple/
  • 配置私有源认证信息,使用有read_package_registry权限的GitLab个人访问令牌即可:
poetry config http-basic.gitlab_pypi <你的GitLab用户名> <你的个人访问令牌>

配置完成后直接执行poetry add module_a,Poetry会自动拉取对应包并将依赖写入配置文件。

手动写入pyproject.toml的方法

你也可以直接修改项目配置文件完成配置,无需提前执行命令:

  1. 先在pyproject.toml中添加私有源声明:
[[tool.poetry.source]]
name = "gitlab_pypi"
url = "https://<你的GitLab域名>/api/v4/projects/<对应module_a的项目ID>/packages/pypi/simple/"
priority = "supplemental"
  1. 在依赖块中添加module_a的版本声明:
[tool.poetry.dependencies]
python = "^3.8" # 保持你原有python版本要求不变
module_a = "^1.0.0" # 替换为你需要的module_a实际版本号

修改完成后执行poetry install即可自动安装所有依赖。

module_b单独安装说明

不需要手动同时安装两个模块。只要你按上述步骤将module_a正确配置为module_b的依赖,后续用户安装module_b时:

  • 若使用Poetry安装:用户本地配置好同一个GitLab私有源的权限后,执行poetry add module_b会自动解析并安装module_a依赖
  • 若使用pip安装:执行pip install module_b --extra-index-url <私有源地址>即可自动拉取全部依赖
    仅需在module_b的分发文档中补充私有源的配置说明,避免无权限的用户拉取依赖失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 15:24:03