Scipy依赖于travis-ci和No模块名为_csr

时间:2013-07-19 18:26:18

标签: python python-3.x scipy travis-ci

我正在尝试为我的项目设置一个基于travis的构建,它以scipy作为依赖项。所有都是精心打造和安装,直到测试运行。我收到No module named _csr错误。我可以看到它是scipy和sparsetools子包的一部分。

$ nosetests
EE
======================================================================
ERROR: Failure: ImportError (No module named '_csr')
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/scipy/sparse/sparsetools/csr.py", line 15, in     swig_import_helper fp, pathname, description = imp.find_module('_csr', [dirname(__file__)])
  File "/home/travis/virtualenv/python3.3_with_system_site_packages/lib/python3.3/imp.py",     line 239, in find_module
  raise ImportError(_bootstrap._ERR_MSG.format(name), name=name)
  ImportError: No module named '_csr'

可以在此处查看构建日志:https://travis-ci.org/tdi/pyPEPA/builds/9277243

1 个答案:

答案 0 :(得分:4)

我们在Travis上使用virtualenvs进行Python测试,因此您无法使用apt-get安装软件包,但您必须使用pip代替。

我相信这应该有用(在.travis.yml中):

language: python
python:
  - "3.3"
install: 
  - pip install --use-mirrors pyparsing
  - pip install --use-mirrors matplotlib
script: nosetests
virtualenv:
  system_site_packages: true
before_install:
  - pip install numpy
  - pip install python-dateutil
  - pip install pytz
  - pip install scipy
  - sudo apt-get update -qq
  - sudo apt-get install -qq libatlas-dev libatlas-base-dev liblapack-dev gfortran
notifications: 
  email: false

我不确定libatlas是否也是Python扩展。如果是,那么您也必须使用pip安装它。

有关详细信息,请参阅our Python documentation