2017-04-16 60 views
1

应该有希望成为一个非常基本的问题,但这里是我下面.travis.yml文件:让特拉维斯-CI运行*都* Python 2和3

language: python 

python: 
    - "2.6" 
    - "2.7" 
    - "3.2" 
    - "3.3" 
    - "3.4" 
    - "3.5" 
    - "nightly" 

matrix: 
    allow_failures: 
    - python: "2.6" 
    - python: "3.2" 
    - python: "3.3" 
    - python: "3.4" 
    - python: "nightly" 

install: 
    - pip install -r requirements.pip 
    - pip install -r test/requirements.pip 

script: python -B test/test.py 

如果你看一下在底部的脚本,它的Python 2中的命令,而python3就是Python 3正如你可以看到向上顶,我选择使用的版本来自Python的2 3.

我想问一下,将是底部脚本参数就足够了?我想让Travis在我上面选择的每个版本上运行我的脚本。

我也选择在刚刚上传并尝试之前询问,因为我只是想上传.yml并且现场就能正常工作。没有多次提交尝试清理小错误并将构建失败。

+1

我意识到这可能不是实际的代码,但我希望你不再支持2.6和3.2:D –

+0

@AnttiHaapala看看[** here **](https:// travis-ci .org/finnrayment/dash-h),它的美丽!至于2.6。看起来我不会与这个错误...为什么我不应该支持3.2? – finnrayment

+0

3.2很久以前就被EOL了,它不支持3.3中存在的可移植性特性 - 例如不支持'u'''字符串。 –

回答

2

是的。 python可以指向任何版本的Python,事实上,它在某些发行版(如Arch)中默认为3。其中Travis使用的是virtualenv将python链接到指定的版本。

调试提示:如果您想避免污染提交历史记录,请创建一个分支来处理它,并在稍后进行压缩/重新分片合并。

+0

非常感谢!听起来不错。 – finnrayment

+0

如果您接受答案,我将不胜感激。 –

2

命令python将始终表示矩阵中的一个Python版本;即您的构建将执行5次,每次python指向与该列表不同的版本。

TRAVIS_PYTHON_VERSION环境变量中可用的当前子版本的版本号。