Подтвердить что ты не робот

Специальные требования Travis для каждой версии python

Мне нужны unittest2 и importlib для python 2.6, которые не требуются для других версий python, которые тестирует travis.

Есть ли способ сказать Travis-CI иметь разные файлы требований .txt для каждой версии python?

4b9b3361

Ответ 1

Правильный способ определения условных требований:

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

Yep, комментарии могут использоваться для указания условных требований. Если вы получаете некоторые ошибки, вы можете использовать устаревшую версию pip.

Ответ 2

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

Это приведет к тому, что unittest2 и importlib будут установлены только для Python 2.6, при этом будет установлен файл requirements.txt для всех перечисленных версий. Вы можете выполнить столько проверок, сколько необходимо. Tornado .travis.yml использует его довольно немного.