如果您在.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
但它不起作用。有什么想法吗?
答案 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。