Как связываться с разветвленным пакетом в distutils, не прерывая замерзание pip?

Введение Официальный пакет python python-openid (распространяемый через pypi.org) не работает с Google Apps. Кто-то написал об этом исправление и загрузил исправленный источник в github. Теперь я хочу создать пакет, который должен ссылаться на этот разветвленный пакет.

Теперь, когда вы устанавливаете этот пакет, все хорошо. Разбитый пакет установлен, и все в порядке. Однако при выполнении pip freeze не упоминается, откуда пришел пакет. Поскольку необходимо использовать пакет forked, в том числе официальный пакет прерывает развертывание. Как я могу связать с разветвленным пакетом в своем собственном пакете, а также перечислить разветвленный пакет в pip freeze?

Обновление

Итак, я создал тег 2.2.5-bouke0, создал дистрибутив и загрузил его в github. Мой setup.py ссылочного пакета теперь выглядит следующим образом:

dependency_links=[
    'http://github.com/Bouke/python-openid/downloads',
],
install_requires=[
    'python-openid == 2.2.5-bouke0',
],

При создании и установке этого пакета все в порядке. Связанный пакет загружается из github и устанавливается правильно. Однако pip freeze не показывает, откуда пришел пакет:

django-federated-login==0.1.3
python-openid==2.2.5-bouke0

Поскольку версия 2.2.5-bouke0 не может быть найдена на pypi, развертывание такого requirements.txt завершится ошибкой. Как я могу указать pip freeze ссылку на альтернативный источник, откуда можно получить пакет?

Ответ 1

Сделайте тег 2.2.5 в репозитории.

Поместите -f https://github.com/adieu/python-openid/downloads в файл requirements.txt.

Конечно, измените номер версии на что-то вроде 2.2.5-bouke1. Подробнее читайте на сайте semver.org.