1

我正在尝试为我的项目设置一个基于 travis 的构建,该项目具有 scipy 作为依赖项。在运行nosetests 之前,一切都已构建和安装良好。我收到一个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

4

1 回答 1

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

有关更多信息,请参阅我们的 Python 文档

于 2013-07-23T03:04:10.130 回答