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,再次liblapack3gf和libblas3gf自动再次安装.
我真的不知道如何处理这个问题,或者如何绕过它让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,请参阅以下注释以获取解释.
在持续集成工作流程中从源代码(无论是直接编译还是使用 )构建科学 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设置示例。
| 归档时间: |
|
| 查看次数: |
1673 次 |
| 最近记录: |