在PyPi上更新软件包的指南

时间:2018-10-08 10:52:20

标签: pypi

我使用this guide在PyPi上安装了新软件包。

现在,我想更新软件包。 由于我没有找到有关此操作的指南,因此我尝试自己做:将版本从“ 1.0.0.dev1”更新为“ 1.0.0.dev2”,然后重新安装。它没有用:我得到了:

Uploading tee_table-1.0.0.dev1-py3-none-any.whl

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

我也读过this question,但信息似乎过时了(自2012年起)。

是否有一个简单的用户指南,描述了如何将软件包的新版本上传到PyPi?

3 个答案:

答案 0 :(得分:6)

我发现了我的问题-我没有删除dist文件夹中的旧文件,因此上载程序尝试在新文件之前上载它们,但失败了。解决方案是:

a。删除dist文件夹中的所有文件。

b。更新setup.py文件中的版本号。

c。重新创建轮子:

python3 setup.py sdist bdist_wheel
d。重新上传新文件:

twine upload dist/*

答案 1 :(得分:3)

很抱歉,如果我回复太晚,但是遇到相同的问题,并且找到了一种不删除现有dist文件夹的方法:

在setup.py中更新版本并重新创建wheel文件后,

twine upload --skip-existing dist/*

将跳过已存在的分发并上传较新的分发

答案 2 :(得分:1)

对于 Windows(我使用的是 Windows 10),@Erel Segal-Halevi 的答案不起作用。以下为我工作。

c.重新创建轮子:

py setup.py sdist bdist_wheel

d。重新上传新文件:

py -m twine upload dist/*