python - Travis-ci matplotlib 依赖和 python3

标签 python numpy python-3.x matplotlib travis-ci

我正在尝试使用我的项目设置一个 travis 连续构建系统,它的依赖项中有 numpy、scipy 和 matplotlib。我的目标是 python 3.3。

在我的 .travis.yml 脚本中,我从 apt-get 安装 numpy 和 scipy,以及(当然)从 pip(仅 numpy)安装。不幸的是,matplotlib build 仍然说 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 log比较有意思的部分。它说依赖不满足,但是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语言=c

https://github.com/rmcgibbo/mdtraj/blob/master/.travis.yml

关于python - Travis-ci matplotlib 依赖和 python3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17339494/

相关文章:

python - 如何从列表python中的多个字典中删除键

python - 是否可以更改 imshow matplotlib 可视化的宽度?

使用坐标列表索引二维数组的 Pythonic 方法

python - 如何编写 GRPC python 单元测试

python - Azure Blob 存储 : Download blob with SAS token

python - 用不同的方法寻找候选板 block

python - xlsxwriter 未将格式应用于数据框的标题行 - Python Pandas

python - 点积两个 4D Numpy 数组

python - 如何矢量化循环遍历 3D 点数组的 python 函数?

python - 在针对官方 python :3 docker image? 的 Dockerfile 中使用的 python 脚本中使用的正确 shebang 是什么