2

我正在做两个项目,我们称它们Project AProject B.

Project B需要一些模块Project A,所以我做了poetry build一个Project A。当我手动执行pip install dist/blabla.whl由poetry on 生成的构建时,我可以访问该模块Project A

但是当我做 a 时poetry add project-a git+ssh://git@gitlab.blabla.co/nubela/project-a.git#develop,它说

找不到包 project-a 的匹配版本

当然,我理解是因为project-a它没有经典地与 setup.py 和其他东西打包在一起。然后如何在poetry add <git-repo-uri>不涉及自托管 pypi 实例的情况下执行?

我可以将 .whl 文件推送到项目 git repo,这有帮助吗?

4

2 回答 2

1

正确的语法是

poetry add git+ssh://git@gitlab.blabla.co/nubela/project-a.git#develop

更多示例在文档中

于 2020-01-11T21:09:35.907 回答
1

我可以将 .whl 文件推送到项目 git repo,这有帮助吗?

虽然理论上它可以解决问题,但将存储库视为文件服务器会让您头疼 - 如果您的 gitlab 甚至允许首先上传二进制文件。


鉴于您收到的错误消息,这似乎不是poetry问题setuptools,而是git抱怨。您是否确保在您的存储库中有一个名为 的标签或分支develop?虽然没有明确提及,但 -mode 中的poetry add形式git

poetry add git+<protocol>://git@<repository>/<owner>/<project>.git#<git_ref>

final#<git-ref>是可选的,如果省略,poetry将安装当前在默认分支上的任何内容(很可能是“master”)。你可能想要的只是

poetry add git+ssh://git@gitlab.blabla.co/nubela/project-a.git
于 2020-01-13T14:14:46.953 回答