将新版本上载到testpypi

nxagd54h  于 2021-08-25  发布在  Java
关注(0)|答案(2)|浏览(406)

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项目?

z4bn682m

z4bn682m1#

testpypi甚至pypi本身都具有重用文件名的能力。但是在切换到warehouse(pypi和testpypi后面的新代码)之后,他们失去了这种能力。无法重新加载相同的文件名。
增加版本、重新生成包并上载具有新名称的新包。

2jcobegt

2jcobegt2#

您需要增加setup.py中的版本,然后重新运行setup.py;例如 python3 setup.py sdist bdist_wheel 或类似的。好主意 rm -rf dist build 并移除 egg-info 我也是。
您不能只重新提交相同的打包名称和版本,它不会自动覆盖,并且您可以理解为什么如果您从逻辑上考虑,如果代码发生更改,您永远不会希望覆盖人们所依赖的当前版本,因为它可能会破坏其示例,所以你们在考试中边玩边练习,以确保你们养成良好的习惯。

相关问题