librosa: устанавливается правильно только с помощью clone git и не может использовать какие-либо функции, хотя импортирует - PullRequest
0 голосов
/ 13 октября 2018

Я довольно новичок с python и программированием в целом, и в настоящее время я борюсь с установкой и использованием библиотеки librosa.Я думал, что мне удалось установить его с:

git clone https://github.com/librosa/librosa.git librosa

, а также с отдельной установкой numpy и scipy, снова с:

git clone https://github.com/numpy/numpy.git numpy
git clone https://github.com/scipy/scipy.git scipy

, и, похоже, он наконец заработал.Я также мог бы:

import librosa

без проблем, но, как я пытался использовать:

librosa.load(pathfile, y, sr) 

или также:

filename = librosa.util.example_audio_file()

Я получаю сообщение об ошибке:

Traceback (most recently call last):
File "home/pi/new version.py", line 17, in <module> 
slowbeat_lib = librosa.load('home/pi/gpio-music-box/samples/slowbeat.ogg', y, sr=None)
Attribute Error: module 'librosa'has no attribute 'load'

То же самое с:

librosa.util

Итак, я подумал, что, вероятно, установил его не полностью или в нужном каталоге, потому что его нет в usr / lib , но в home / pi / ...

Я пытался это изменить, но не получилось.Также его установка с:

pip install

sudo pip install

никогда не работала, потому что всегда не удавалось собрать колеса для нескольких дополнительных пакетов, таких как numpy, scipy, llvmlite , ... -> Вот и всетоже довольно странно, правда?

Или проблема может быть в чем-то совершенно ином?

Так что на самом деле я совершенно беспомощен и благодарен за любой намек или совет!:)

1 Ответ

0 голосов
/ 23 октября 2018

Имеет смысл, что при установке librosa произойдет сбой scipy / numpy / llvmlite.pip автоматически попытается установить зависимости для librosa.

Вы определенно хотите установить с помощью pip.Github-репозиторий librosa не упакован одинаково и предназначен для людей, работающих над кодом librosa, а не для его использования в качестве библиотеки.

В системе Raspberry-pi, pip install --user librosa - это то, что вам нужно.

Имейте в виду, что некоторые пакеты python являются просто обертками вокруг кода C.Когда вы pip install llvmlite просто устанавливаете обертку.

Я бы посмотрел этот ответ на похожий вопрос здесь: https://stackoverflow.com/a/46840976/564872

, в частности, строка: sudo apt install libblas-dev llvm python3-pip python3-scipy (при условиичто вы используете python3)

...