如何配置setup.py以从GitHub master安装pip?

时间:2012-03-30 19:37:55

标签: python github pip setuptools distutils

不是将发布推送到PyPi和GitHub,而是让PyPi使用最新的GitHub主机会更容易。有没有正确的方法来做到这一点?

我知道你可以在install_requires中将依赖关系列为GitHub repos,但是有没有办法为主包执行此操作?

例如,当您使用easy_install安装Flask时,它会从多个来源读取,包括GitHub,它在设置网址(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/

列出setup.py中的URL是什么导致easy_install也从GitHub读取?

如果是这样,如果GitHub版本比PyPi版本更新,它是否总是从GitHub安装?

pip的工作方式是否相同?

1 个答案:

答案 0 :(得分:9)

如果我没记错,你可以使用download_url指向GitHub上最新的tarball。

不要将任何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



参考文献: