【问题标题】:A guide for updating packages on PyPi在 PyPi 上更新包的指南
【发布时间】:2019-03-13 00:45:37
【问题描述】:

我使用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 的简单用户指南?

【问题讨论】:

  • 你提到的答案并没有过时。增加版本号,重新创建 sdist/eggs/wheels 并上传。
  • 这就是我所做的......我得到了问题中提到的错误。
  • 我在错误消息中看到 dev1。您没有将其增加到 dev2 或没有重新生成轮子。

标签: pypi


【解决方案1】:

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

  1. 删除dist文件夹中的所有文件。

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

  3. 重新创建轮子:

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

    twine upload dist/*
    

【讨论】:

    【解决方案2】:

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

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

    twine upload --skip-existing dist/*
    

    将跳过已经存在的发行版并上传较新的发行版

    【讨论】:

      【解决方案3】:

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

      c。重新制作轮子:

      py setup.py sdist bdist_wheel
      

      d。重新上传新文件:

      py -m twine upload dist/*
      

      【讨论】:

        猜你喜欢
        • 2021-11-30
        • 2012-12-04
        • 2013-06-28
        • 2015-11-19
        • 1970-01-01
        • 2013-07-01
        • 2021-10-17
        • 2019-03-04
        • 2018-12-13
        相关资源
        最近更新 更多