我正在尝试为我的项目设置一个基于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
答案 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。