Git和PyPI之间有什么关系?

时间:2017-09-12 19:59:51

标签: git pip pypi

我正在尝试设置和PyPI包,并且有点困惑。

我知道你必须使用Git和PyPI,所以我把代码移到了那里。我认为您必须在setup.py的URL参数中有一个指向git存储库的链接,否则PyPI将不接受它。

现在,我一直在使用

将我的项目上传到TestPyPI
python setup.py sdist upload -r pypitest
事情似乎有效。

现在,我想知道如何处理download_url

我对我的想法/希望应该发生的想法:

我设置

download_url=https://github.com/gituser/myproject/releases/latest/

或类似的东西。然后,当我在Git上发布新版本时,PyPI会以某种方式找到它并自动更新我的包(包括更新项目PyPI页面上的版本号和描述)。

这似乎没有发生。我不确定是不是因为我正在做download_url错误,或版本编号错误,或者我对应该发生的事情的期望是错误的。

如果是后者,我必须自己将每个新版本上传到PyPI,那么将它与Git联系起来有什么意义?

1 个答案:

答案 0 :(得分:2)

从操作的角度来看,PyPI和GitHub是无关的。

PyPI将很乐意接受未链接到带有url字段的git存储库的软件包。确实有很多软件包,其setup.py的url字段是PyPI页面,请参阅sympy的页面。

documentation of setuptools还包含download_url字段。显然,如果此链接指的是包含所谓软件版本主链接的页面,则这些版本将显示在PyPI上。我自己从未使用过这个,而且我在网上找到例子时遇到了麻烦。

following package显然已设置为以这种方式工作,但很难判断PyPI上的链接是否存在,因为作者手册中的链接或是否自动更新。

我最后总结说,一般来说,软件包作者更喜欢手动执行更新来控制PyPI上发布的内容,而上传软件包的首选方法是使用twine,请参阅&# 34;包装作者" https://pypi.python.org/pypi上的框