Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 运行librosa&;树莓皮3上的麻木_Python_Raspbian_Raspberry Pi3_Numba_Librosa - Fatal编程技术网

Python 运行librosa&;树莓皮3上的麻木

Python 运行librosa&;树莓皮3上的麻木,python,raspbian,raspberry-pi3,numba,librosa,Python,Raspbian,Raspberry Pi3,Numba,Librosa,我想用我的树莓皮3来运行librosa。 经过数小时的互联网搜索,我终于能够安装它,但它仍然抛出一个错误,当我试图导入它。首先,我在安装依赖项时遇到问题llvmlite。我最终用以下代码安装了它:conda install-c numba llvmlite。我使用Python3.4构建和miniconda 安装llvmlite后,我可以使用pip安装librosa(使用conda不可能) 显然librosa已经安装好了 pi@raspberrypi:~ $ pip list DEPRECATIO

我想用我的树莓皮3来运行librosa。 经过数小时的互联网搜索,我终于能够安装它,但它仍然抛出一个错误,当我试图导入它。首先,我在安装依赖项时遇到问题
llvmlite
。我最终用以下代码安装了它:
conda install-c numba llvmlite
。我使用Python3.4构建和miniconda

安装llvmlite后,我可以使用
pip
安装librosa(使用conda不可能)

显然librosa已经安装好了

pi@raspberrypi:~ $ pip list
DEPRECATION: The default format will switch to columns in the future. 
You can use --format=(legacy|columns) (or define a format=
(legacy|columns) in your pip.conf under the [list] section) to disable 
this warning.
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)
decorator (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)
mock (2.0.0)
numba (0.35.0)
numpy (1.13.3)
pbr (3.1.1)
Pillow (2.9.0)
pip (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)
requests (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)
six (1.11.0)
tensorflow (1.1.0)
Werkzeug (0.12.2)
wheel (0.30.0)
尝试导入librosa会引发以下错误:

pi@raspberrypi:~ $ python
Python 3.4.3 |Continuum Analytics, Inc.| (default, Aug 21 2015, 00:53:08) 
[GCC 4.6.3] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import librosa
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/pi/miniconda3/lib/python3.4/site-packages/librosa/__init__.py", line 12, in <module>
    from . import core
  File "/home/pi/miniconda3/lib/python3.4/site-packages/librosa/core/__init__.py", line 108, in <module>
    from .time_frequency import *  # pylint: disable=wildcard-import
  File "/home/pi/miniconda3/lib/python3.4/site-packages/librosa/core/time_frequency.py", line 10, in <module>
    from ..util.exceptions import ParameterError
  File "/home/pi/miniconda3/lib/python3.4/site-packages/librosa/util/__init__.py", line 70, in <module>
    from . import decorators
  File "/home/pi/miniconda3/lib/python3.4/site-packages/librosa/util/decorators.py", line 67, in <module>
    from numba.decorators import jit as optional_jit
  File "/home/pi/miniconda3/lib/python3.4/site-packages/numba/__init__.py", line 12, in <module>
    from .special import typeof, prange
  File "/home/pi/miniconda3/lib/python3.4/site-packages/numba/special.py", line 4, in <module>
    from .parfor import prange
  File "/home/pi/miniconda3/lib/python3.4/site-packages/numba/parfor.py", line 20, in <module>
    from numba import array_analysis, postproc, typeinfer
  File "/home/pi/miniconda3/lib/python3.4/site-packages/numba/array_analysis.py", line 9, in <module>
    from numba import ir, analysis, types, config, cgutils, typing
  File "/home/pi/miniconda3/lib/python3.4/site-packages/numba/cgutils.py", line 22, in <module>
    true_bit = bool_t(1)
TypeError: 'IntType' object is not callable
>>> 
pi@raspberrypi:~$python
Python 3.4.3 | Continuum Analytics,Inc.|(默认,2015年8月21日,00:53:08)
[GCC 4.6.3]在linux上
有关详细信息,请键入“帮助”、“版权”、“信用证”或“许可证”。
>>>进口藏红花
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“/home/pi/miniconda3/lib/python3.4/site packages/librosa/_init__.py”,第12行,在
从…起导入核心
文件“/home/pi/miniconda3/lib/python3.4/site-packages/librosa/core/_-init__.py”,第108行,在
from.time_frequency import*#pylint:disable=通配符导入
文件“/home/pi/miniconda3/lib/python3.4/site packages/librosa/core/time\u frequency.py”,第10行,在
from..util.exceptions导入参数错误
文件“/home/pi/miniconda3/lib/python3.4/site-packages/librosa/util/_-init__.py”,第70行,在
从…起进口装饰师
文件“/home/pi/miniconda3/lib/python3.4/site packages/librosa/util/decorators.py”,第67行,在
从numba.decorators导入jit作为可选的\u jit
文件“/home/pi/miniconda3/lib/python3.4/site-packages/numba/__-init___.py”,第12行,在
from.特殊进口类型,prange
文件“/home/pi/miniconda3/lib/python3.4/site packages/numba/special.py”,第4行,在
来自进口prange的parfor
文件“/home/pi/miniconda3/lib/python3.4/site packages/numba/parfor.py”,第20行,在
从numba导入数组_分析、后处理、类型推断
文件“/home/pi/miniconda3/lib/python3.4/site packages/numba/array_analysis.py”,第9行,在
从numba导入ir、分析、类型、配置、cgutils、键入
文件“/home/pi/miniconda3/lib/python3.4/site packages/numba/cgutils.py”,第22行,在
真位=布尔位(1)
TypeError:“IntType”对象不可调用
>>> 
尝试导入numba会引发以下错误:

pi@raspberrypi:~ $ python
Python 3.4.3 |Continuum Analytics, Inc.| (default, Aug 21 2015, 00:53:08) 
[GCC 4.6.3] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import numba
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/pi/miniconda3/lib/python3.4/site-packages/numba/__init__.py", line 12, in <module>
    from .special import typeof, prange
  File "/home/pi/miniconda3/lib/python3.4/site-packages/numba/special.py", line 4, in <module>
    from .parfor import prange
  File "/home/pi/miniconda3/lib/python3.4/site-packages/numba/parfor.py", line 20, in <module>
    from numba import array_analysis, postproc, typeinfer
  File "/home/pi/miniconda3/lib/python3.4/site-packages/numba/array_analysis.py", line 9, in <module>
    from numba import ir, analysis, types, config, cgutils, typing
  File "/home/pi/miniconda3/lib/python3.4/site-packages/numba/cgutils.py", line 22, in <module>
    true_bit = bool_t(1)
TypeError: 'IntType' object is not callable
>>> 
pi@raspberrypi:~$python
Python 3.4.3 | Continuum Analytics,Inc.|(默认,2015年8月21日,00:53:08)
[GCC 4.6.3]在linux上
有关详细信息,请键入“帮助”、“版权”、“信用证”或“许可证”。
>>>进口麻木
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“/home/pi/miniconda3/lib/python3.4/site-packages/numba/__-init___.py”,第12行,在
from.特殊进口类型,prange
文件“/home/pi/miniconda3/lib/python3.4/site packages/numba/special.py”,第4行,在
来自进口prange的parfor
文件“/home/pi/miniconda3/lib/python3.4/site packages/numba/parfor.py”,第20行,在
从numba导入数组_分析、后处理、类型推断
文件“/home/pi/miniconda3/lib/python3.4/site packages/numba/array_analysis.py”,第9行,在
从numba导入ir、分析、类型、配置、cgutils、键入
文件“/home/pi/miniconda3/lib/python3.4/site packages/numba/cgutils.py”,第22行,在
真位=布尔位(1)
TypeError:“IntType”对象不可调用
>>> 
有人知道问题出在哪里吗? 我很感激任何提示或提示。
谢谢

在撰写本文时,最新的Raspbian版本有llvm-3.8,因此根据需要,您需要安装llvmlite v0.15.0和numba v0.30.1。如果您使用的是不同的llvm,那么您将需要探索llvmlite和numba的哪些版本可用于该版本的llvm。 以下是使我能够成功导入librosa的命令:

sudo apt install libblas-dev llvm python3-pip python3-scipy
virtualenv --system-site-packages -p python3 env
source env/bin/activate
pip install llvmlite==0.15.0
pip install numba==0.30.1
pip install librosa

注意,我正在使用virtualenv并从系统包中拖入scipy和numpy,否则很难获得正确的fortran&c依赖项,再加上在RPi上编译这些依赖项需要很长时间。如果要在系统范围内安装,请删除第2行和第3行,并将
sudo
放在
pip
命令前面。我还在这个文件中冻结了我的需求,所以如果你下载了,那么你可以运行一个命令
pip install-r requirements.txt

谢谢@MatthewBerryman,你让我度过了难关!在最新的Raspian版本(stretch)中,我在尝试将librosa安装到Raspian jessie(我的RPi3随附)上几个小时后,成功地实现了以下功能。话虽如此,以下程序也可能适用于jessie

首先,使用以下命令更新系统的软件包列表并将所有已安装的软件包升级到其最新版本:

sudo apt-get update
sudo apt-get dist-upgrade
安装Python科学堆栈:

sudo pip3 install numpy --upgrade 
sudo apt-get install python3-pandas
(似乎还安装了matplotlib、scipy)

然后,安装低级虚拟机LLVM(根据@MatthewBerryman,我使用了LLVM 3.8和llvmlite 0.15.0,而不是我找不到包的最新组合)。安装LLVM-3.8后,需要在安装llvmlite之前定义符号链接

sudo apt-get install llvm-3.8
sudo ln -s /usr/bin/llvm-config-3.8 /usr/bin/llvm-config
sudo pip3 install llvmlite==0.15.0
sudo pip3 install numba==0.32.0
Numba是0.32.0,因为如果它是最新版本(0.36),它将不会导入,因为llvm不匹配;如果它是较低版本,则librosa安装程序将其升级到最新版本

最后,安装librosa:

sudo pip3 install librosa
然而,当尝试导入librosa时,它仍然抛出错误,即

ImportError: libf77blas.so.3: cannot open shared object file: No such file or directory
谷歌搜索此错误表明这将修复它:

sudo apt-get install libatlas-base-dev
的确如此;然而,我不知道为什么

总之,此过程安装librosa,尝试此操作时没有错误:

...$ python3
Python 3.5.3 (default, Jan 19 2017, 14:11:04)
...
>>>import librosa
>>>

sudo-pip-install-librosa==0.4.2
适合我。在树莓pi3(OS:raspbian jessie)上有警告但效果良好


任何人都可以参考此链接,我在RPI3b+中成功安装了Raspbian Buster操作系统

如果您以前安装过软件包,请使用新的副本重新启动
sudo apt-get install libatlas-base-dev
...$ python3
Python 3.5.3 (default, Jan 19 2017, 14:11:04)
...
>>>import librosa
>>>
sudo apt-get install llvm
LLVM_CONFIG=/usr/bin/llvm-config pip3 install llvmlite==0.32
pip3 install numpy==1.16.1 numba==0.49
pip3 install librosa
sudo apt-get install libatlas-base-dev