How to upload new versions of project to PyPI with twine?

大城市里の小女人 提交于 2019-12-06 17:30:44

问题


I've uploaded my Python package to PyPI. But now I made new version of my package and need to upload it. I tried to make same progress which I did when upload the package first time. but give me this error:

HTTPError: 400 Client Error: File already exists. See https://pypi.org/help/#file-name-reuse for url: https://upload.pypi.org/legacy

Now, how to upload new version without any error?!


回答1:


PyPI does not allow for the reuse of distribution filenames (project name + version number + distribution type).

This ensures that a given distribution for a given release for a given project will always resolve to the same file, and cannot be surreptitiously changed one day by the projects maintainer or a malicious party (it can only be removed).

You will need to change the version number to one that you haven't previously uploaded to PyPI.

You didn't mention how you're uploading the distribution, but if you're using twine, it's also possible you're attempting to upload a previously uploaded distribution. To resolve this, you can do:

$ twine upload --skip-existing dist/*



回答2:


You need to change the version number.




回答3:


Can get that error for following reasons:

  • Didn't change your version in setup.py
  • didn't remove your previous dist file

Solution:

  • Change the version number in setup.py.
  • Run setup file again. python setup.py bdist_wheel.
  • Upload only that dist file or run twine (if using). twine upload --skip-existing dist/*

As mentioned by @dustin, dist file of same name cannot be uploaded again.



来源:https://stackoverflow.com/questions/52016336/how-to-upload-new-versions-of-project-to-pypi-with-twine

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!