gpt4 book ai didi

travis-ci - 使用 Travis-CI 将多个发行版部署到 PyPI 时防止冲突

转载 作者:行者123 更新时间:2023-12-04 11:00:47 25 4
gpt4 key购买 nike

我希望 Travis CI 构建以下人工制品并将其部署到 PyPI 每当新提交命中 master分支:

  • python 2轮
  • python 3轮
  • 来源

  • 为了实现这一点,我在 .travis.yml 中添加了以下内容:
    language: python
    python:
    - '2.7'
    - '3.5'
    - '3.6'
    deploy:
    on:
    branch: master
    provider: pypi
    distribution: bdist_wheel sdist

    对于正常的构建/测试,配置效果很好。但是,它引入了竞争条件 when deploying to PyPI :
    Uploading distributions to https://upload.pypi.org/legacy/
    Uploading PyOTA-2.0.0b1.tar.gz
    HTTPError: 400 Client Error: File already exists. for url: https://upload.pypi.org/legacy/

    我应该对 .travis.yml 做哪些更改让 Travis CI 将正确的人工制品部署到 PyPI?

    最佳答案

    有时我会跳出框框思考;其他时候它只是一个非常大的盒子。

    以前,这个项目需要为 Python 2 和 Python 3 使用单独的轮子,所以我需要 Travis CI 来使用不同版本的 Python 构建轮子。

    但是最近我得到了正确构建万向轮的项目,所以现在 Travis 可以使用任何一个版本的 Python 构建所有部署工件。

    我修改了 .travis.yml相应地,和 everything is working great :

    deploy:
    on:
    branch: master
    python: '3.6'

    关于travis-ci - 使用 Travis-CI 将多个发行版部署到 PyPI 时防止冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46387129/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com