为什么我必须删除我的 build 和 dist 文件才能成功将新版本的包上传到 Pypi?

Why do I have to delete my build and dist files to successfully upload a new version of a package to Pypi?

如果我所做的只是更改 setup.py

中的版本号,我会得到一个 400 客户端错误文件已经存在

我的程序只是一个"hello world"。

有些朋友告诉我删除 build 和 dist 然后它就可以工作了,但我在互联网上的其他任何地方都找不到为什么会这样。我遇到的所有教程都只是手动更新或说使用 bump 版本更改版本号将允许这样做。

我假设您正在使用 twine upload dist/*。默认情况下,这将告诉 twine 上传 dist 目录中的所有内容。但是,如果您已经上传了其中一些分发版,您将无法再次上传它们。

相反,您可以指定要上传的确切分布:

twine upload dist/yourproject-1.0.0.tar.gz

或使用--skip-existing标志:

twine upload --skip-existing dist/*