我可以使用travis-ci来测试python的特定(包括次要数量)版本吗?

时间:2015-03-04 15:05:28

标签: python python-2.7 testing continuous-integration travis-ci

如果您在.travis.yml文件中有此内容:

language: python
python:
- 2.7

您的代码将针对python 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来测试我的库,是否有可能以某种方式指定.travis.yml中的次要python版本?我试过了:

python:
- 2.7.6

但它不起作用。有什么想法吗?

1 个答案:

答案 0 :(得分: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

因此,在Travis脚本中调用python将自动使用与anaconda一起安装的那个,即Python 2.7.6。