PyPI 400上传错误

时间:2015-02-24 23:57:29

标签: python-2.7 version packaging pypi

我在PyPI中创建了一个名为virtdc的包。我做了一些更改并上传了2个不同的版本0.1.0和0.1.1。现在我通过PyPI Web界面删除了0.1.1版本,并尝试使用相同的版本号重新上传。它给我的错误如下

...
Writing virtdc-0.1.2/setup.cfg
Creating tar archive
removing 'virtdc-0.1.2' (and everything under it)
running register
Registering virtdc to http://pypi.python.org/pypi
Server response (200): OK
running upload
Submitting dist/virtdc-0.1.2.tar.gz to http://pypi.python.org/pypi
Upload failed (400): This filename has previously been used, you should use a different version.

PyPI不允许包含4个以上的版本。所以我们必须删除一些版本并再次上传。

即使在此上传错误之后,也可以使用第一个内容说明。但是下载链接不可用。您可以找到我的包裹here

有人可以帮我这个吗?感谢

2 个答案:

答案 0 :(得分:16)

我遇到了同样的问题,似乎没有直接的解决方法:

http://sourceforge.net/p/pypi/support-requests/468

但是,如果您要上传源代码分发,则有一种不太难看的解决方法。您可以构建“zip”存档而不是“tar.gz”存档。你可以控制这个,例如通过

python setup.py sdist --formats=zip

这样,您将获得不同的文件名。然后你可以直接附加上传命令

python setup.py sdist --formats=zip upload

或者您可以在构建之后使用twine上传:

twine upload dist/*

答案 1 :(得分:12)

这对我有用:

  1. 删除根目录中的builddist<package name>.egg-info文件夹。
  2. 更改setup.py文件中的版本号。
  3. 再次创建分发。例如:python setup.py sdist bdist_wheel
  4. 再次上传分发。例如:twine upload dist/*
  5. 享受! : - )