Как настроить setup.py для установки pip с GitHub master? - PullRequest
9 голосов
/ 30 марта 2012

Вместо того, чтобы отправлять релиз в PyPi и GitHub, было бы проще, если бы PyPi использовал последнюю версию GitHub master.Есть ли правильный способ сделать это?

Я знаю, что вы можете перечислить зависимости как репозитории GitHub в install_requires, но есть ли способ сделать это для основного пакета?

Например, когдавы используете easy_install для установки Flask, он читает из нескольких источников, включая GitHub, который указан в URL-адресе установки (https://github.com/mitsuhiko/flask/blob/master/setup.py#L78):

$ sudo easy_install Flask
Searching for Flask
Reading http://pypi.python.org/simple/Flask/
Reading http://github.com/mitsuhiko/flask/

В URL-адресе setup.py указан URL, из-за чего easy_install также читаетиз GitHub?

Если это так, будет ли он всегда устанавливаться из GitHub, если версия GitHub более актуальна, чем версия PyPi?

И это работает для pip?

1 Ответ

9 голосов
/ 07 апреля 2012

Если я правильно помню, вы можете использовать download_url, чтобы указать на последний архив в GitHub.

Не отправляйте sdist / bdist в PyPI, только зарегистрируйте пакет и измените setup.py на что-то вроде:

setup(...,
      download_url='https://github.com/USER/PROJECT/tarball/master')

Причина, по которой эти страницы читаются, заключается в том, что setuptools сканирует много страниц (начиная с http://pypi.python.org/simple/) в поисках любого URL-адреса загрузки, который выглядит так, как нужно для установки. Вы можете увидеть больше деталей, если используете -v опция в easy_install / pip.

pip install -vvv flask



Ссылки:

...