Код: Выделить всё
[global]
index-url = url.to.registry_1/pypi/simple
extra-index-url = url.to.registry_2/pypi/simple
реестр
имя пакета
версия
Код: Выделить всё
registry_1Код: Выделить всё
package-bКод: Выделить всё
0.2.0Код: Выделить всё
registry_2Код: Выделить всё
package-bКод: Выделить всё
0.2.0Когда я запускаю:
Код: Выделить всё
pip install -vvv package-b==0.2.0
Код: Выделить всё
Found link package_b-0.2.0-py3 (from registry_1)
Found link package_b-0.2.0-py3 (from registry_2)
Collecting package-b==0.2.0
Using cached package_b-0.2.0-py3-none-any.whl
Successfully installed package-b-0.2.0
Но в этом случае оба кандидата имеют одинаковое имя и версию, поэтому выбор на основе версии не помогает.
Мой вопрос:
Как pip выбирает между идентичными дистрибутивами name==version, расположенными в разных дистрибутивах индексы?
В документации сказано:
"В местах поиска нет приоритета; выбирается лучший подходящий кандидат".
Но это не поясняет, как ведет себя pip, когда несколько кандидатов одинаково лучшие.
Существует ли официальное правило для решения тай-брейка? Например:
- предпочитаете index-url, а не extra-index-url?
- предпочитаете первое найденное совпадение?
- предпочитаете самую новую временную метку загрузки?
- алфавитный порядок?
- поведение кэша?
Подробнее здесь: https://stackoverflow.com/questions/798 ... ne-is-used
Мобильная версия