我正在尝试使用我的项目设置travis连续构建系统,该项目在其依赖项中具有numpy,scipy和matplotlib.我的目标是 python 3.3. 在我的.travis.yml脚本中,我从apt-get安装numpy和scipy,以及(确定)从pip(只有
在我的.travis.yml脚本中,我从apt-get安装numpy和scipy,以及(确定)从pip(只有numpy)安装.不幸的是,matplotlib构建仍然表示deps中缺少numpy.我尝试了几乎所有在WEB上找到的方法,但大多数方法都不起作用(我认为它们已经过时了).
language: python python: - "3.3" install: - pip install numpy - pip install colorama - pip install matplotlib - pip install nose script: nosetests virtualenv: system_site_packages: true before_install: - sudo apt-get update -qq - sudo apt-get install -qq python3-numpy python3-scipy
以下是travis日志的有趣部分.它表示不满足依赖性,但是pip命令可以看到已经从apt安装了numpy.
BUILDING MATPLOTLIB matplotlib: 1.2.0 python: 3.3.2 (default, May 16 2013, 18:32:41) [GCC 4.6.3] platform: linux REQUIRED DEPENDENCIES numpy: no * You must install numpy 1.4 or later to build * matplotlib. Complete output from command python setup.py egg_info: basedirlist is: ['/usr/local', '/usr']如果您不需要针对多个python版本进行测试,最简单的方法是告诉travis您的语言是c,然后从apt-get安装所有内容.这解决了system_site_packages和virtualenv的所有问题.
例如,这个库使用travis-ci进行测试,并依赖于完整的scipy堆栈(numpy,scipy,matplotlib,pytables,pandas等),它通过apt与language = c安装.
https://github.com/rmcgibbo/mdtraj/blob/master/.travis.yml