我正试着用我的覆盆子皮3做利布罗莎。 经过几个小时的网上搜索,我终于可以安装它,但当我试图导入它时,它仍然会抛出一个错误。首先,我在安装依赖项llvmlite时遇到问题。我最后用以下代码安装了它:conda install-c numba llvmlite 我使用python 3.4构建miniconda。
安装llvmlite之后,我可以用pip安装librosa(conda不可能)
pi@raspberrypi:~ $ pip install librosa
Collecting librosa
Using cached https://www.piwheels.hostedpi.com/simple/librosa/librosa-
0.5.1-py3-none-any.whl
Requirement already satisfied: resampy>=0.1.2 in
./miniconda3/lib/python3.4/site-packages (from librosa)
Requirement already satisfied: scipy>=0.13.0 in
...
Installing collected packages: librosa
Successfully installed librosa-0.5.1
很明显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
>>>
尝试导入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
>>>
有人知道问题出在哪里吗? 我很感激你的任何暗示或提示。 谢谢您!!!!!
sudo pip install librosa==0.4.2
为我工作。有警告,但对覆盆子pi3工作良好(OS:raspbian杰西)在编写本文时,最新的Raspbian版本有llvm-3.8,因此根据this github comment,您需要安装llvmlite v0.15.0和numbav0.30.1。如果您在不同的llvm上,那么您将需要探索llvmlite和numba的哪些版本可以与该版本的llvm一起使用。 下面是让我设置成功的命令
import librosa
:注意,我使用的是virtualenv并从系统包中拖入scipy和numpy,否则很难获得正确的fortran&c依赖项以及在RPi上编译所需的时间。如果要在系统范围内安装,请删除第2行和第3行,并将
sudo
放在pip
命令前面。我也在这个requirements.txt文件中冻结了我的需求,因此如果您下载了它,那么您可以运行一个命令pip install -r requirements.txt
谢谢“马修伯里曼,你让我渡过了难关!在最新的Raspian发行版(stretch)中,我在尝试将librosa安装到Raspian jessie(我的RPi3附带的)上几个小时的挫折之后,成功地完成了下面的工作。说到这里,下面的程序可能也适用于杰西。
首先,使用以下命令更新系统的软件包列表并将所有已安装的软件包升级到其最新版本:
安装Python科学堆栈:
(似乎还安装了matplotlib,scipy)
然后,安装低级虚拟机LLVM(根据@MatthewBerryman,我使用的是LLVM 3.8和llvmlite 0.15.0,而不是我找不到包的最新组合)。安装LLVM-3.8之后,需要在安装llvmlite之前定义一个符号链接。
Numba是0.32.0,因为如果它是最新的(0.36),它将不会导入,因为llvm不匹配,如果它是较低版本,librosa安装将升级到最新版本。
最后,安装librosa:
然而,当尝试导入librosa时,它仍然抛出错误,即
在谷歌上搜索这个错误表明这可以修复它:
但我不知道为什么。
总而言之,此过程安装librosa,并且在尝试此操作时没有错误:
相关问题 更多 >
编程相关推荐