3
我想特拉維斯CI構建並部署以下人工製品的PyPI每當一個新的提交命中master
分支部署多發行版到PyPI中時:預防衝突使用特拉維斯-CI
- 的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
什麼樣的變化讓特拉維斯CI部署正確的人工製品的PyPI?
這是一個很好的答案。這不是我的期望,而是基於我的研究,這是正確的答案。我一直在尋找一種方式來構建和測試調配分開,由此實現了,但不是在路上我所期待的。感謝您的幫助!和你一樣,我已經建立萬向輪,但它是值得更新您的響應,包括你是怎麼做的與'選項= {「bdist_wheel」:{「普遍」:真}} setup.py'? – JGC
啊,有趣;我不知道這是一個選擇。我把它放在'setup.cfg'中。 – user5568265