Как сделать ссылку на разветвленный пакет в distutils, не нарушая замораживание pip? - PullRequest
2 голосов
/ 27 января 2012

Предисловие Официальный пакет 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 Ответ

1 голос
/ 27 января 2012

Сделайте тег 2.2.5 в хранилище.

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

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

...