Пакет B зависит от A, пакет C зависит от B, и все у них есть дополнительные зависимости от пакетов из репозитория PyPI.
Используя поэзию 1.5.1, я попробовал эту настройку, которая у меня не работает (я опустил ненужные части файла pyproject. toml для краткости):
Код: Выделить всё
B/pyproject.tomlКод: Выделить всё
[tool.poetry.dependencies]
A = {version = "*", source = "my-private"}
[[tool.poetry.source]]
name = "PyPI"
priority = "primary"
[[tool.poetry.source]]
name = "my-private"
url = "https://gitlab.com/api/v4/groups/65473942/-/packages/pypi/simple"
priority = "explicit"
Код: Выделить всё
C/pyproject.tomlКод: Выделить всё
[tool.poetry.dependencies]
B = {version = "*", source = "my-private"}
[[tool.poetry.source]]
name = "PyPI"
priority = "primary"
[[tool.poetry.source]]
name = "my-private"
url = "https://gitlab.com/api/v4/groups/65473942/-/packages/pypi/simple"
priority = "explicit"
Но когда я запускаю блокировку поэзии > в проекте C, то команда завершается с ошибкой, поскольку не удается найти пакет A. Мне кажется, что он пытается установить A из PyPI, но такого пакета нет.
Мои вопросы:
- Это намеренное поведение или поэтическая ошибка?
- Можно ли использовать явный приоритет для репозиториев, содержащих пакеты с транзитивными зависимостями (зависит от B, который зависит от A — все хранится в частном репозитории)?
Код: Выделить всё
C
Если я изменю приоритет репозитория my-private на значение по умолчанию (и удалю атрибут source в раздел «Зависимости»), то всё работает — все пакеты ищутся в репозитории my-private, и если они там не найдены, то PyPI используется как «запасной вариант».
Но мне все равно интересно, можно ли использовать явный приоритет в этом случае, потому что мне это кажется безопаснее (поэзия завершится неудачей, если мой пакет не будет найден в репозитории my-private и пакет с то же имя из PyPI не будет установлено по ошибке).
Мое текущее решение также не работает должным образом, когда я использую более одного частного репозитория (если они содержат пакеты с одинаковым именем).
Подробнее здесь: https://stackoverflow.com/questions/765 ... pendencies