在Travis CI中安装Numpy 1.8

min*_*907 6 python ubuntu numpy matplotlib travis-ci

在我的项目中,我(必须)使用Numpy 1.8中包含的功能,但在早期版本中没有(formatter选项numpy.set_printoptions).

由于Travis CI构建机器基于Ubuntu 12.04,默认情况下我只有Numpy 1.6.1可用.然后我尝试为Ubuntu 14.04安装Numpy-1.8.1-Debian-package并手动依赖它,这导致了进一步的问题:

我需要安装的软件包libblas3,并liblapack3能够安装numpy的1.8,这是不可能的时候liblapack3gf,并libblas3gf安装在系统(这是有默认情况下)上,因为包会"破发"它们.如果我是apt-get remove他们,则通过相同的命令自动 libatlas3gf-base安装apt-get(在标准的Ubuntu系统上不是这种情况,我甚至在本地机器上设置了一个以确保).如果我再尝试卸载Vlibatlas3gf-baseV,再次liblapack3gflibblas3gf自动再次安装.

我真的不知道如何处理这个问题,或者如何绕过它让Numpy 1.8与Travis合作.我也试过了这里pip提供的升级Numpy的建议,但是在Travis中这没有用.

任何帮助都非常感谢!

非常感谢你!


解决方案:

我完成了对以下.travis.yml文件的rth 回答,并这里这里提供了进一步的帮助:

language: python

matrix:
  include:
    - python: 2.7
      env: NUMPY=1.8 SCIPY=0.13

notifications:
  email: false

before_install:
 - travis_retry wget http://repo.continuum.io/miniconda/Miniconda-3.8.3-Linux-x86_64.sh -O miniconda.sh
 - chmod +x miniconda.sh
 - bash miniconda.sh -b -p $HOME/miniconda
 - export PATH=/home/travis/miniconda/bin:$PATH
 - conda update --yes conda

install:
 - conda create --yes -n test python=$TRAVIS_PYTHON_VERSION
 - source activate test
 - conda install --yes numpy=$NUMPY scipy=$SCIPY matplotlib pip
 - pip install setuptools
 - [ ... some other packages to install ... ]
 - python setup.py install

script:
 - nosetests
Run Code Online (Sandbox Code Playgroud)

现在一切都按预期工作.请注意:您将无法使用此设置导入和使用PyLab,请参阅以下注释以获取解释.

rth*_*rth 3

在持续集成工作流程中从源代码(无论是直接编译还是使用 )构建科学 python 模块的pip速度很慢(numpy 需要 15 分钟,如果需要 scipy 等则需要 15 分钟),并且浪费资源。

您应该使用 numpy 的二进制发行版,例如 Anaconda 提供的发行版。对于 Travis CI 你可以使用,

language: python

before_script:
  - wget http://repo.continuum.io/miniconda/Miniconda-3.8.3-Linux-x86_64.sh -O miniconda.sh
  - chmod +x miniconda.sh
  - export PATH=/home/travis/miniconda/bin:$PATH
  - conda install --yes numpy=1.8
Run Code Online (Sandbox Code Playgroud)

另请查看这个更完整的Travis CI设置示例。