2016-08-03 1 views
-1

Есть ли какие-либо технические указания, предпочитающие ссылаться на пакет на PyPI поверх исходного источника на GitHub в requirements.txt?Должен ли встраивать таргетинг на требования.txt в pypi или github repo?

Единственное, что приходит мне на ум, заключается в том, что замораживание пакета на определенной версии очень громоздко с GitHub (package==1.0.0 против git://github.com/{ username }/{ reponame }[email protected]{ tag name }#egg={ desired egg name }), но я не уверен, что это может вызвать проблемы.

Другая вещь - необходимость установки git на целевой машине.

Есть ли другие указания?

+0

Если вы устанавливаете из тега release, то либо это просто механизм распространения, и это не имеет значения. Если вы устанавливаете из произвольной ревизии, то GitHub имеет эту ревизию, PyPI, вероятно, не будет. –

+0

В основном github имеет последнюю версию и версию для разработки, если вы хотите стабильную версию, вам нужно изменить ветку или тег, но когда дело доходит до pypi или pip, это будет только стабильная версия. и easy_install установить новую версию – sathish

ответ

1

PyPI является принятым местом дефакто для распространения выпущенных версий пакета, и может случиться так, что не все инструменты для упаковки Python поддерживают установку с GitHub.

И как вы уже заметили, для pip для поддержки GitHub у вас должно быть установлено git; это ограничивает переносимость вашего файла.

Далее, не все сопровождающие проекта не забывают отмечать выпуски в GitHub; то, что распространяется на PyPI, может быть трудно найти на GitHub. Тег также может быть неправильным. Вы могли бы закончить установку немного отличающейся версии от PyPI, создавая путаницу, когда вы сталкиваетесь с проблемой поддержки.

С другой стороны, если вы должны установить не выпущенную версию разработки (скажем, вам нужно критическое исправление, но с момента выпуска не было выпущено), тогда GitHub может быть единственным местом, где вы можете получить эту версию.

Итак, вы должны использовать PyPI над GitHub, так как это гарантирует, что вы получили официальную версию и более портативны. Используйте только URL-адрес GitHub в requirements.txt, если нет другого источника для конкретной версии.

Смежные вопросы