Как я могу заставить setuptools установить пакет, это не находится на PyPI?

Я только что начал работать с setuptools и virtualenv. Мой пакет требует последнего python-gearman, который только доступен от GitHub. Версия python-gearman это находится на PyPI, является старой. Источник GitHub setuptools-совместим, т.е. имеет setup.py и т.д. Существует ли способ заставить setuptools загрузить и установить новую версию вместо того, чтобы искать его на PyPI и установить старый?

К вашему сведению новым python-gearman является http://github.com/mtai/python-gearman

136
задан andrei 12 August 2010 в 22:10
поделиться

2 ответа

Ключ должен указать easy_install, где можно загрузить пакет. В данном конкретном случае его можно найти по адресу http://github.com/mtai/python-gearman/tarball/master . Однако эта ссылка сама по себе не будет работать, потому что easy_install не может сказать, просто взглянув на URL-адрес, что она собирается получить.

Вместо этого, изменив его на http://github.com/mtai/python-gearman/tarball/master#egg=gearman-2.0.0beta , easy_install сможет определить имя пакета и его версия.

Последний шаг - добавить URL-адрес в dependency_links вашего пакета, например:

setup(
   ...
   dependency_links = ['http://github.com/mtai/python-gearman/tarball/master#egg=gearman-2.0.0beta']
)

Теперь, когда ВАШ пакет устанавливается, easy_install обнаружит, что есть "gearman 2.0.0beta", доступный для загрузки с этого URL-адреса, и с радостью выберите его вместо того, что есть на PyPI, если вы укажете "gearman> = 2.0.0beta" в своих зависимостях ..

(Обычно это делается путем включения ссылки на страницу PyPI для загружаемый источник; в этом случае, если бы автор пакета gearman включил ссылку, подобную приведенной выше, вы уже были бы настроены.Обычно люди отмечают версию для разработки с помощью myproject-dev, а затем используют требование myproject> = somever, == dev, так что, если нет пакета somever или выше, easy_install попытается проверить (или загрузите выпуск.)

Вам нужно будет указать - process-dependency-links при использовании pip . Обратите внимание, что обработка ссылок зависимостей устарела и будет удалена в следующем выпуске.

153
ответ дан 23 November 2019 в 23:40
поделиться

Vanilla setuptools не поддерживает загрузку напрямую из репозитория git, но вы можете использовать одну из ссылок Download Source с этой страницы, например:

easy_install http://github.com/mtai/python-gearman/tarball/master
6
ответ дан 23 November 2019 в 23:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: