33

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

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

4

2 回答 2

54

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

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

于 2013-12-16T21:21:09.157 回答
10

定义条件要求的正确方法是:

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

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

于 2016-05-02T09:13:40.197 回答