Travis-ci matplotlib依赖和python3

我正在尝试使用我的项目设置travis连续构建系统,该项目在其依赖项中具有numpy,scipy和matplotlib.我的目标是 python 3.3.

在我的.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

相关文章

迭代器模式(Iterator)迭代器模式(Iterator)[Cursor]意图...
高性能IO模型浅析服务器端编程经常需要构造高性能的IO模型,...
策略模式(Strategy)策略模式(Strategy)[Policy]意图:定...
访问者模式(Visitor)访问者模式(Visitor)意图:表示一个...
命令模式(Command)命令模式(Command)[Action/Transactio...
生成器模式(Builder)生成器模式(Builder)意图:将一个对...