3

我在 PyPi 上安装了我的包的 beta 版本。

setup.py 中的元信息(例如主页、类别等)出现在项目的 PyPi 页面上

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

更新和往常一样,永远不要相信这样说的人。我从 setuptools 更改为 distutils!Cargo Cult 编程——我只是复制了另一个项目所做的。对不起。

但是项目的 PyPi 页面中的下一个版本没有元信息。

我正在努力弄清楚我是如何打破它的;我发现 PyPi 相当费力才能正确,所以我确定是我。这一次,我在相当全新的 Windows 安装上使用了 Python 2.7.1(之前我使用的是 Python 2.6.x)

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

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

4

2 回答 2

3

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

$ python setup.py register

理想情况下,您希望在上传的同时运行注册命令。在发布任何软件包(sdist、注册、上传)时,我通常至少使用三个命令。以下将发布到 PyPI 的典型版本:

$ python setup.py sdist register upload

这篇文章的其余部分简要解释了这些命令的作用。

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

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

于 2011-09-16T16:48:32.783 回答
1

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

于 2011-10-10T15:21:10.723 回答