不是将发布推送到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的工作方式是否相同?
答案 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
参考文献: