为什么在PyPI上没有使用setup.py元数据?

时间:2011-06-06 13:26:52

标签: python setuptools pypi cheeseshop

我在PyPi上有我的软件包的beta版本。

来自setup.py的元信息(例如主页,类别等)出现在project's PyPi page上。

后来,我更新了这个项目。我在setup.py中唯一更改的是版本号。

更新一如既往,永远不要相信那些说出来的人。我从setuptools改为distutils! Cargo Cult编程 - 我刚刚复制了另一个项目所做的事情。遗憾。

project's PyPi page中的下一个版本没有元信息。

我想弄清楚我是怎么打破它的;我发现PyPi相当负担得起,所以我确信这是我。 这一次,我在一个相当全新的Windows安装上使用了Python 2.7.1(之前我曾使用过Python 2.6.x)

我几乎肯定使用不同的命令行来上传它。 (这次,它似乎需要安装签名和pgp,我不记得上次需要了。)

我应该在哪里查看为什么不再上传setup.py文件中的元信息?

2 个答案:

答案 0 :(得分:3)

在setup.py上运行以下命令可以解决问题:

$ python setup.py register

理想情况下,您可能希望在上传时运行register命令。在发布任何包(sdist,register,upload)时,我通常至少使用三个命令。以下将对PyPI进行典型发布:

$ python setup.py sdist register upload

本文的其余部分简要说明了这些命令的作用。

sdist 命令是构建源代码分发的一些构建命令之一。自从您上传.zip文件后,您可能已经熟悉它了。类似的命令是 bdist ,它构建二进制分发。

分发(或包)元数据与构建的分发包分开发送。 setuptools的上传命令将上传您的项目版本(例如myproject-0.0.zip)。应使用 register 命令更新元数据信息。 register命令以它理解的格式将PKGINFO(或egg_info)发送到PyPI。

答案 1 :(得分:1)

这很难回答。你能给我们你用过的命令行吗?你的setup.py使用distutils还是setuptools?您是否在两次之间更改了pydistutils.cfg或.pypirc文件?