3

Если у вас есть это в вашем .travis.yml файле:Могу ли я использовать travis-ci для тестирования конкретной (включая младший номер) версии python?

language: python 
python: 
- 2.7 

Ваш код будет протестировано питон 2.7.9:

$ source ~/virtualenv/python2.7/bin/activate 
$ python --version 
Python 2.7.9 

Но Python 2.7.9 брейки urllib3 (https://github.com/shazow/urllib3/issues/482) и GEvent (https://github.com/gevent/gevent/issues/477). Думаю, именно поэтому последний Ubuntu по-прежнему поставляется с Python 2.7.6.

По этим причинам мне действительно нужно протестировать мою библиотеку против python> = 2.7, но < 2.7.9, можно ли каким-то образом указать небольшую версию python в .travis.yml? Я пробовал:

python: 
- 2.7.6 

но он не работает. Есть идеи?

+0

Кажется, кому-то еще нужна эта версия, и разработчики были достаточно любезны, чтобы [создать для них 2.7.6 архивов] (https://github.com/travis-ci/travis-ci/issues/5078#issuecomment- 156302257), поэтому вы можете попробовать еще раз. – tutuDajuju

ответ

4

Насколько я знаю, вы не можете указать второстепенные версии с помощью Travis. Но вместо этого вы можете использовать Anaconda с окружением conda. Таким образом, вы можете установить локальную версию python по вашему выбору.

В вашем before_install скрипт вы можете скачать и установить его с помощью:

- wget http://repo.continuum.io/miniconda/Miniconda-3.7.3-Linux-x86_64.sh -O miniconda.sh 
    - bash miniconda.sh -b -p $HOME/miniconda 
    - export PATH="$HOME/miniconda/bin:$PATH" 
    - conda config --set always_yes yes --set changeps1 no 
    - conda update -q conda 
    # Useful for debugging any issues with conda 
    - conda info -a 
    # USE YOUR PYTHON VERSION HERE 
    - conda create -q -n py276 python=2.7.6 
    - source activate py276 

Важную роль здесь, конечно же: conda create -q -n py276 python=2.7.6.

Таким образом, вызовы python в вашем скрипте Travis автоматически будут использовать тот, который установлен с anaconda, то есть Python 2.7.6.

Смежные вопросы