我可以使用 travis-ci 来测试 python 的 specific(包括次要编号)版本吗?
Can I use travis-ci to test against specific (including minor number) version of python?
如果您的 .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) and 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
但它不起作用。有什么想法吗?
据我所知,您无法使用 Travis 指定次要版本。但是您可以做的是在 conda 环境中使用 Anaconda 。因此,您可以安装您选择的 local 版本的 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.
如果您的 .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) and 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
但它不起作用。有什么想法吗?
据我所知,您无法使用 Travis 指定次要版本。但是您可以做的是在 conda 环境中使用 Anaconda 。因此,您可以安装您选择的 local 版本的 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.