Travis对每个python版本的特殊要求

时间:2013-12-16 17:59:30

标签: python travis-ci requirements.txt

我需要用于python 2.6的unittest2和importlib,这是travis测试的其他python版本所不需要的。

有没有办法告诉Travis-CI每个python版本都有不同的requirements.txt文件?

2 个答案:

答案 0 :(得分:46)

Travis CI添加了一个名为$TRAVIS_PYTHON_VERSION的环境变量,可以在.travis.yml中引用:

python:
  - 2.6
  - 2.7
  - 3.2
  - 3.3
  - pypy
install:
  - if [[ $TRAVIS_PYTHON_VERSION == 2.6 ]]; then pip install importlib unittest2; fi
  - pip install -r requirements.txt

这将导致仅为Python 2.6安装unittest2importlib,并为列出的所有版本安装requirements.txt。您可以根据需要进行尽可能多的检查。 Tornado的.travis.yml文件使用它很多。

答案 1 :(得分:8)

定义conditional requirements的正确方法是:

# requirements.txt
ordereddict; python_version == '2.6'

是的,注释可用于指定条件要求。如果您遇到一些错误,可能会使用过时版本的pip。