我需要用于python 2.6的unittest2和importlib,这是travis测试的其他python版本所不需要的。
有没有办法告诉Travis-CI每个python版本都有不同的requirements.txt文件?
答案 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安装unittest2
和importlib
,并为列出的所有版本安装requirements.txt。您可以根据需要进行尽可能多的检查。 Tornado的.travis.yml文件使用它很多。
答案 1 :(得分:8)
定义conditional requirements的正确方法是:
# requirements.txt
ordereddict; python_version == '2.6'
是的,注释可用于指定条件要求。如果您遇到一些错误,可能会使用过时版本的pip。