AttributeError: библиотека cffi '(pyModulesPath)\ _ soundfile_data\libsndfile64bit.dll' не имеет функции, константы или глобальной переменной с именем 'sf_wchar_open'

Когда я пытаюсь использовать что-нибудь, что связано с модулем librosa, я получаю сообщение об ошибке:

Traceback (most recent call last):
  File "C:\Users\User1\Documents\test3.py", line 36, in <module>
    x, Fs = librosa.load(fn_mp3, sr=None)
  File "C:\Program Files\Python38\lib\site-packages\librosa\core\audio.py", line 129, in load
    with sf.SoundFile(path) as sf_desc:
  File "C:\Program Files\Python38\lib\site-packages\soundfile.py", line 629, in __init__
    self._file = self._open(file, mode_int, closefd)
  File "C:\Program Files\Python38\lib\site-packages\soundfile.py", line 1172, in _open
    openfunction = _snd.sf_wchar_open
AttributeError: cffi library 'C:\Program Files\Python38\lib\site-packages\_soundfile_data\libsndfile64bit.dll' has no function, constant or global variable named 'sf_wchar_open'

Раньше у меня была ошибка с чем-то о libsndfile64bit.dllзатем я создал папку в пакетах сайтов под названием _soundfile_data и загрузилlibsndfile64bit.dllот сюда затем добавить его в папку то ошибка, я при условии, что выскочил. Я попытался найти ответы на SO, но вопросов нет, я не могу редактироватьlibsndfile64bit.dllпоэтому я ничего не могу сделать. Я использую ОС Windows 64x, Python 3.8 и librosa 0.7.2.

0 ответов

Я попробовал ответить @Maos Tamir, но не сработал.
Что сработало для меня:


1.- Откройте приглашение anaconda
2.-активируйте желаемый venv,
если изначально был установлен с помощью conda:
3.- conda удалить librosa
4.-pip удалить
звуковой файл 5.- pip installlibrosa
6.- Закрыть приглашение
7.- перезапустить ядро ​​при использовании jupyter записные книжки

Обновите звуковой файл, используя: pip install -U soundfile

Я тоже получил эту ошибку, способ, которым я ее обошел, заключался в реализации предложения из другого потока и переходе на python 3.7:

conda create -n p37env python=3.7
conda activate p37env
conda install -c conda-forge librosa

Librosa должна автоматически правильно установить звуковой файл. Также убедитесь, что если вы используете JupyterLab/JupyterNotebook, откройте сеанс JupyterLab/Notebook из той же среды, где python был понижен до python 3.7, я забыл сделать это и снова получил ошибку, пока не осознал это.

Источник решения первых двух команд: ( Невозможно установить тензорный поток с помощью conda с python 3.8)

Была такая же проблема в Windows 10 с Python 3.7.9. Попробуйте вручную загрузить соответствующее колесо Windows и установить его вручную с https://github.com/bastibe/SoundFile/releases/tag/0.10.3post1

Другие вопросы по тегам