2017-04-16 57 views
1

應該有希望成爲一個非常基本的問題,但這裏是我下面.travis.yml文件:讓特拉維斯-CI運行*都* Python 2和3

language: python 

python: 
    - "2.6" 
    - "2.7" 
    - "3.2" 
    - "3.3" 
    - "3.4" 
    - "3.5" 
    - "nightly" 

matrix: 
    allow_failures: 
    - python: "2.6" 
    - python: "3.2" 
    - python: "3.3" 
    - python: "3.4" 
    - python: "nightly" 

install: 
    - pip install -r requirements.pip 
    - pip install -r test/requirements.pip 

script: python -B test/test.py 

如果你看一下在底部的腳本,它的Python 2中的命令,而python3就是Python 3正如你可以看到向上頂,我選擇使用的版本來自Python的2 3.

我想問一下,將是底部腳本參數就足夠了?我想讓Travis在我上面選擇的每個版本上運行我的腳本。

我也選擇在剛剛上傳並嘗試之前詢問,因爲我只是想上傳.yml並且現場就能正常工作。沒有多次提交嘗試清理小錯誤並將構建失敗。

+1

我意識到這可能不是實際的代碼,但我希望你不再支持2.6和3.2:D –

+0

@AnttiHaapala看看[** here **](https:// travis-ci .org/finnrayment/dash-h),它的美麗!至於2.6。看起來我不會與這個錯誤...爲什麼我不應該支持3.2? – finnrayment

+0

3.2很久以前就被EOL了,它不支持3.3中存在的可移植性特性 - 例如不支持'u'''字符串。 –

回答

2

是的。 python可以指向任何版本的Python,事實上,它在某些發行版(如Arch)中默認爲3。其中Travis使用的是virtualenv將python鏈接到指定的版本。

調試提示:如果您想避免污染提交歷史記錄,請創建一個分支來處理它,並在稍後進行壓縮/重新分片合併。

+0

非常感謝!聽起來不錯。 – finnrayment

+0

如果您接受答案,我將不勝感激。 –

2

命令python將始終表示矩陣中的一個Python版本;即您的構建將執行5次,每次python指向與該列表不同的版本。

TRAVIS_PYTHON_VERSION環境變量中可用的當前子版本的版本號。