当我的凭证有效时,为什么我不能将我自己的包上传到 PyPI?

Why cant I upload my own package to PyPI when my credential are working?

我想将模块部署到 PyPI,但在控制台中抛出此错误:

HTTPError: 403 Client Error: The credential associated with user 'aloisdg' isn't allowed to upload to project 'example-pkg-your-username'. See https://test.pypi.org/help/#project-name for more information. for url: https://test.pypi.org/legacy/

可以按照官方文档中的教程一步步重现错误:Packaging Python Projects.

当我尝试直接连接到 PyPI 网站时,我的凭据工作正常。

为什么我不能上传自己的包?

此错误意味着您无法上传此包,因为您作为用户不被允许上传。为什么?因为它不是你的包裹。已经有人用这个名字创建了一个包。您的包被视为对该现有包的更新。如果原始创建者将您作为此软件包的维护者,则不会出现此错误。

如何解决这个错误?将 example-pkg-your-username 替换为 example-pkg-aloisdg(或 PyPI 中不存在的任何名称)。

此答案的灵感来自 issue #4607

您在教程中错过了这一步:

Open setup.py and enter the following content. Update the package name to include your username (for example, example-pkg-theacodes), this ensures that you have a unique package name and that your package doesn’t conflict with packages uploaded by other people following this tutorial.

将包名称更改为唯一的名称,您的上传就会成功。