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

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

Теперь при установке этого пакета все хорошо. Разветвленный пакет установлен и все в порядке. Однако при выполнении pip freezeТам нет упоминания о том, откуда пришла посылка. В качестве разветвленного пакета следует использовать, в том числе и официальный пакет, нарушающий развертывание. Как я могу сделать ссылку на раздвоенный пакет в моем собственном пакете, а также перечислить разветвленный пакет в 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 для деталей.

Другие вопросы по тегам