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 записные книжки
Я тоже получил эту ошибку, способ, которым я ее обошел, заключался в реализации предложения из другого потока и переходе на 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