Специальные требования Travis для каждой версии python
Мне нужны unittest2 и importlib для python 2.6, которые не требуются для других версий python, которые тестирует travis.
Есть ли способ сказать Travis-CI иметь разные файлы требований .txt для каждой версии python?
Ответы
Ответ 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 использует его довольно немного.