tl; dr -如何将新版本上传到TestPyPi项目?
说明:我遵循了《 Python软件包用户指南》中的these instructions,将测试软件包导入TestPyPi。但是,我上传的软件包有错误。我更正了该错误并尝试覆盖该程序包,但是遇到以下错误:
代码:
python3 -m twine upload --repository-url https://test.pypi.org/legacy/ dist/*
错误:
HTTPError: 400 Client Error: File already exists. See https://test.pypi.org/help/#file-name-reuse for url: https://test.pypi.org/legacy/
在堆栈溢出时,我发现一则帖子指出TestPyPi软件包cannot be overwritten。但是,TestPyPi本身表明应该可以发布版本。
当我在TestPyPi中搜索文档时,找不到任何说明如何上传软件包新版本的东西。在一个区域中,我找到了一个简短的发行管理参考,但这是一个超链接,链接到有关如何安装软件包的说明,而不是更新软件包的说明(这与我在本文第一句中引用的超链接相同)。
如何将新版本上传到TestPyPi项目?
答案 0 :(得分:0)
TestPyPI甚至PyPI本身都具有重用文件名的能力。但是在切换到Warehouse之后(PyPI和TestPyPI背后的新代码),他们失去了这种能力。无法重新上传相同的文件名。
增加版本,重新生成软件包并上传具有新名称的新软件包。
答案 1 :(得分:0)
您需要在setup.py中增加版本,然后重新运行setup.py;。例如python3 setup.py sdist bdist_wheel
或类似名称。最好rm -rf dist build
并删除egg-info
文件。
您不能只重新提交相同的打包名称和版本,它不会自动覆盖,并且您可以理解为什么如果您从逻辑上考虑它,如果代码更改,您将永远不想覆盖人们所依赖的当前版本,因为它可能破坏他们的实例,因此您在进行测试时要练习以确保养成良好的习惯。