当前位置 : 首页 » 互动问答 » 正文

在树莓派3上运行librosa&numba

分类 : 互动问答 | 发布时间 : 2018-04-27 17:25:45 | 评论 : 1 | 浏览 : 338 | 喜欢 : 0

我正尝试在我的覆盆子pi 3上运行librosa。 在通过互联网搜索几个小时后,我终于可以安装它,但是当我尝试导入它时仍然会报错。首先,我遇到了安装依赖项llvmlite的问题。我终于用下面的代码安装它:conda install -c numba llvmlite 我使用pyicon 3.4与miniconda构建。

安装llvmlite之后,我可以用pip安装librosa(不可能用conda)pi @ raspberrypi:〜$ pip install librosa 收集librosa 使用缓存https://www.piwheels.hostedpi.com/simple/librosa/librosa- 0.5.1-PY3-NONE-any.whl 要求已满足:resampy> = 0.1.2 in ./miniconda3/lib/python3.4/site-packages(来自librosa) 要求已满足:scipy> = 0.13.0 in ... 安装收集的软件包:librosa 成功安装了librosa-0.5.1

明显安装了librosa。 

pi @ raspberrypi:〜$ pip list DEPRECATION:默认格式将在未来切换到列。 你可以使用--format =(legacy | columns)(或者定义一个format = (遗留的|列)在[list]部分下的pip.conf中)禁用 这个警告。 anaconda-client(1.0.2) audioread(2.1.5) awscli(1.11.170) boto3(1.4.7) botocore(1.7.28) clyent(0.4.0) colorama(0.3.7) conda(3.16.0) conda-env(2.4.2) Cython(0.27.1) 装饰者(4.1.2) docutils(0.14) jmespath(0.9.3) joblib(0.11) librosa(0.5.1) llvmlite(0.7.0.dev0 + 21.gcda19bd.dirty) 模拟(2.0.0) numba(0.35.0) numpy(1.13.3) pbr(3.1.1) 枕头(2.9.0) 点(9.0.1) protobuf(3.4.0) pyasn1(0.3.7) PyAudio(0.2.11) pycosat(0.6.1) pycrypto(2.6.1) python-dateutil(2.6.1) pytz(2015.4) PyYAML(3.12) 请求(2.7.0) resampy(0.2.0) rsa(3.4.2) s3transfer(0.1.11) scikit-learn(0.18.2) scipy(0.19.1) setuptools(18.1) 六个(1.11.0) 张量流(1.1.0) Werkzeug(0.12.2) 轮子(0.30.0)

尝试导入librosa会引发以下错误:

pi @ raspberrypi:〜$ python Python 3.4.3 | Continuum Analytics,Inc. | (默认,2015年8月21日,00:53:08) Linux上的[GCC 4.6.3] 输入“帮助”,“版权”,“信用”或“许可证”以获取更多信息。 >>>导入librosa 回溯(最近一次通话最后):   在<module>中的文件“<stdin>”,第1行   文件“/home/pi/miniconda3/lib/python3.4/site-packages/librosa/__init__.py”,第12行,在<module>     从。进口核心   文件“/home/pi/miniconda3/lib/python3.4/site-packages/librosa/core/__init__.py”,第108行,在<module>     from .time_frequency import *#pylint:disable =通配符导入   文件“/home/pi/miniconda3/lib/python3.4/site-packages/librosa/core/time_frequency.py”,第10行,在<module>     从..util.exceptions导入ParameterError   文件“/home/pi/miniconda3/lib/python3.4/site-packages/librosa/util/__init__.py”,第70行,位于<module>     从。导入装饰器   文件“/home/pi/miniconda3/lib/python3.4/site-packages/librosa/util/decorators.py”,第67行,位于<module>     从numba.decorators将jit导入为optional_jit   文件“/home/pi/miniconda3/lib/python3.4/site-packages/numba/__init__.py”,第12行,在<module>     来自特殊的进口类型,prange   文件“/home/pi/miniconda3/lib/python3.4/site-packages/numba/special.py”,第4行,位于<module>     从.parfor进口prange   文件“/home/pi/miniconda3/lib/python3.4/site-packages/numba/parfor.py”,第20行,在<module>     从numba导入array_analysis,postproc,typeinfer   文件“/home/pi/miniconda3/lib/python3.4/site-packages/numba/array_analysis.py”,第9行,在<module>     从numba导入ir,分析,类型,配置,cgutils,打字   文件“/home/pi/miniconda3/lib/python3.4/site-packages/numba/cgutils.py”,第22行,位于<module>     true_bit = bool_t(1) TypeError:'IntType'对象不可调用 >>>

尝试导入numba会引发以下错误:

pi @ raspberrypi:〜$ python Python 3.4.3 | Continuum Analytics,Inc. | (默认,2015年8月21日,00:53:08) Linux上的[GCC 4.6.3] 输入“帮助”,“版权”,“信用”或“许可证”以获取更多信息。 >>>进口numba 回溯(最近一次通话最后):   在<module>中的文件“<stdin>”,第1行   文件“/home/pi/miniconda3/lib/python3.4/site-packages/numba/__init__.py”,第12行,在<module>     来自特殊的进口类型,prange   文件“/home/pi/miniconda3/lib/python3.4/site-packages/numba/special.py”,第4行,位于<module>     从.parfor导入prange   文件“/home/pi/miniconda3/lib/python3.4/site-packages/numba/parfor.py”,第20行,在<module>     从numba导入array_analysis,postproc,typeinfer   文件“/home/pi/miniconda3/lib/python3.4/site-packages/numba/array_analysis.py”,第9行,在<module>     从numba导入ir,分析,类型,配置,cgutils,打字   文件“/home/pi/miniconda3/lib/python3.4/site-packages/numba/cgutils.py”,第22行,位于<module>     true_bit = bool_t(1) TypeError:'IntType'对象不可调用 >>>

有没有人知道问题可能是什么?
我很感激任何提示或提示。
谢谢!!!!!

Has anyone a clue what the problem could be? I am grateful for any hints or tips. Thank you!!!!!

回答(1)

  • 1楼
  • 截至撰写时,最新的Raspbian版本已经有llvm-3.8,因此,根据 this github comment ,你需要安装llvmlite v0.15.0和numba v0.30.1。如果你使用的是不同的llvm,那么你需要研究llvmlite和numba的版本,以便与该版本的llvm一起使用。 这里是让我设置的命令来获得成功 import librosa :

     sudo apt install libblas-dev llvm python3-pip python3-scipy
    virtualenv --system-site-packages -p python3 env
    源env / bin /激活
    pip install llvmlite == 0.15.0
    pip安装numba == 0.30.1
    pip安装librosa
    

    注意我使用virtualenv并从系统软件包中以scipy和numpy拖拽,否则很难获得Fortran&c依赖关系,以及需要花费时间在RPi上编译的问题。如果要安装系统,请删除第二行和第三行,并将sudo放在pip命令前面。我也在这个 requirements.txt 文件中冻结了我的需求,所以如果你下载它,那么你可以运行一个命令 pip install -r requirements.txt

相关阅读: