tl;dr-如何将新版本上载到testpypi项目?
描述:我按照python包用户指南中的说明将测试包导入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包不能被覆盖。然而,testpypi本身表明版本发布应该是可能的。
当我搜索testpypi文档时,我找不到任何说明如何上传包的新版本的内容。在一个区域中,我找到了一个关于发布管理的简短参考,但它是一个链接到如何安装程序包的说明的超链接,而不是更新程序包的超链接(这是我在本文第一句中引用的同一个超链接)。
如何将新版本上载到testpypi项目?
2条答案
按热度按时间z4bn682m1#
testpypi甚至pypi本身都具有重用文件名的能力。但是在切换到warehouse(pypi和testpypi后面的新代码)之后,他们失去了这种能力。无法重新加载相同的文件名。
增加版本、重新生成包并上载具有新名称的新包。
2jcobegt2#
您需要增加setup.py中的版本,然后重新运行setup.py;例如
python3 setup.py sdist bdist_wheel
或类似的。好主意rm -rf dist build
并移除egg-info
我也是。您不能只重新提交相同的打包名称和版本,它不会自动覆盖,并且您可以理解为什么如果您从逻辑上考虑,如果代码发生更改,您永远不会希望覆盖人们所依赖的当前版本,因为它可能会破坏其示例,所以你们在考试中边玩边练习,以确保你们养成良好的习惯。