我有一个针对多个Python运行时(2.7,3.3-6(交叉编译的Python包。我正在尝试使用 TravisCI 构建该包并将其部署到 PyPi。但是,特定版本标记的每个运行时变体都会生成一个同名的项目:mypackage-0.11.10.tar.gz
。因此,PyPi 只接受第一个运行时变体。
重申一下:给定版本(例如,0.11.10
(的构建在每个运行时(2.7
,3.3
,...,3.6
(中成功,但每个运行时都具有相同的工件:mypackage-0.11.10.tar.gz
。我想得到的是像mypackage-0.11.10-py27.tar.gz
这样的东西,或者任何合适的东西。
我可能错过了一些东西,我可以确信,如果我对每个运行时都有构建工作,我就可以开始了......但我缺乏这种信心,也不知道测试它的好方法。
其中一个子组件就是如何更改 TravisCI 发送到 PyPi 的工件的文件名?我无法确定是否有任何方法可以做到这一点。
这是我.travis.yml
文件:
language: python
python:
- '2.7'
- '3.3'
- '3.4'
- '3.5'
- '3.6'
- pypy
install:
- pip install coveralls
- pip install 'coverage<4'
script: nosetests --with-coverage --cover-package=<my package name>
after_success:
- coveralls
deploy:
provider: pypi
user: <my pypi username>
password:
secure: <my encrypted pypi password>
on:
tags: true
distributions: sdist bdist_wheel
repo: <my repo>
branch: production
.tar.gz
表明它是一个源发行版。一个版本不能有多个源分发。但是你可以有很多二进制轮子,每个轮子用于不同的Python版本和架构。