2013-12-16 46 views
26

我需要針對python 2.6的unittest2和importlib,對於travis測試的其他python版本不需要。Travis對每個python版本的特殊要求

有沒有辦法讓Travis-CI爲每個python版本提供不同的requirements.txt文件?

+0

您可能想切換到正確的答案http://stackoverflow.com/a/36978898/99834 – sorin

回答

7

正確的方式來定義conditional requirements是:

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

是的,註釋可用於指定條件的要求。如果您遇到一些錯誤,您可能會使用過時的pip版本。

+1

改爲推薦此鏈接:https://stackoverflow.com/a/35614580/119527 –

38

特拉維斯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列出的所有版本。您可以根據需要進行儘可能多的這些檢查。龍捲風的.travis.yml文件使用它相當多。