2012-03-30 42 views
9

与PyPi和GitHub推送版本不同,PyPi使用最新的GitHub主控会更容易。有没有适当的方法来做到这一点?如何配置setup.py以从GitHub主控进行pip安装?

我知道你可以在install_requires中列出依赖作为GitHub仓库,但是有没有办法为主包做这个工作?

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

在清单中setup.py的网址:

例如,当您使用easy_install的安装瓶,它从多个来源,包括GitHub上,这是在设置URL(https://github.com/mitsuhiko/flask/blob/master/setup.py#L78)读取上市什么原因导致easy_install也从GitHub读取?

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

这对pip是否也适用?

回答

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。如果您在easy_install/pip中使用-v选项,则可以看到更多详细信息。

pip install -vvv flask 



参考文献: