Buildout игнорирует ссылку `find-links` на github - PullRequest
8 голосов
/ 05 апреля 2011

Я пытаюсь заставить buildout использовать определенный, раздвоенный и измененный пакет из моей учетной записи на github, однако, похоже, он полностью игнорирует ссылку и вместо этого выбирает стандартный модуль PyPi.

Вот мойКонфигурация buildout:

[buildout]
parts = foo
find-links = http://github.com/me/themodule/tarball/version#egg=themodule-version
versions = versions
eggs = ...

[versions]
themodule=version

[foo]
eggs =
    ${buildout:eggs}
    themodule

Я использую последнюю версию zc.buildout от pypi, версии 1.5.2.

Я пробовал с http и https дляссылка (из-за недавнего изменения github).Ссылка активна и работает напрямую, поэтому я предполагаю, что это моя конфигурация.Я что-то упустил?

Ответы [ 2 ]

5 голосов
/ 05 апреля 2011

Убедитесь, что номер вашей версии уникален; если в вашем find-links URL-адресе используется тот же номер версии, что и в пакете, указанном в PyPI, setuptools с радостью найдет тот, который найден в PyPI, вместо того, который указан find-links.

Мы используем шаблон {company}{counter} для частных изменений, поэтому версия 1.2.5, перепакованная с нашими изменениями, становится 1.2.5acme1. Более поздние версии обновляют счетчик (acme2, acme3 и т. Д.), Пока не изменится сама версия разветвленного пакета. Вполне может быть необходимо установить это в setup.py, так как другие инструменты могут запрашивать у самого пакета его версию.

0 голосов
/ 08 июля 2013

При желании, если вы просто хотите использовать разветвленный пакет (и, возможно, заново настроить его в то же время, когда разрабатываете основной пакет), я бы посоветовал вам использовать удивительное расширение buildout mr.developer .

Вы можете немного изменить свой buildout.cfg, чтобы оформить свое раздвоенное расширение как ./bin/buildout.Вы также можете указать определенный тег для извлечения, если вы хотите это сделать (дважды проверьте руководство пользователя PyPI для получения более подробной информации).Вот скелет для вашей конкретной установки:

[buildout]
parts = foo
extensions = mr.developer
auto-checkout = *
eggs = ...

[sources]
themodule = git git@github.com:me/themodule

[foo]
eggs = ${buildout:eggs}
       themodule
...