2012-03-30 46 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 



參考文獻: