OSError: sndfile library not found解决办法 CentOS

郑晗日
2023-12-01

背景

系统:CentOS 7
环境:Anaconda 3
部署声音算法程序,一直报错。

问题

Traceback (most recent call last):
  File "/home/anaconda3/envs/tts-env/lib/python3.10/site-packages/soundfile.py", line 151, in <module>
    raise OSError('sndfile library not found')
OSError: sndfile library not found

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/anaconda3/envs/tts-env/lib/python3.10/site-packages/soundfile.py", line 178, in <module>
    _snd = _ffi.dlopen(_os.path.join(_path, '_soundfile_data', _packaged_libname))
OSError: cannot load library '/home/anaconda3/envs/tts-env/lib/python3.10/site-packages/_soundfile_data/libsndfile.so': /home/anaconda3/envs/tts-env/lib/python3.10/site-packages/_soundfile_data/libsndfile.so: cannot open shared object file: No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/anaconda3/envs/tts-env/bin/tts", line 5, in <module>
    from TTS.bin.synthesize import main
  File "/home/data/code/pycharm_project_635/TTS/bin/synthesize.py", line 12, in <module>
    from TTS.utils.synthesizer import Synthesizer
  File "/home/data/code/pycharm_project_635/TTS/utils/synthesizer.py", line 14, in <module>
    from TTS.utils.audio import AudioProcessor
  File "/home/data/code/pycharm_project_635/TTS/utils/audio/__init__.py", line 1, in <module>
    from TTS.utils.audio.processor import AudioProcessor
  File "/home/data/code/pycharm_project_635/TTS/utils/audio/processor.py", line 3, in <module>
    import librosa
  File "/home/anaconda3/envs/tts-env/lib/python3.10/site-packages/librosa/__init__.py", line 211, in <module>
    from . import core
  File "/home/anaconda3/envs/tts-env/lib/python3.10/site-packages/librosa/core/__init__.py", line 6, in <module>
    from .audio import *  # pylint: disable=wildcard-import
  File "/home/anaconda3/envs/tts-env/lib/python3.10/site-packages/librosa/core/audio.py", line 8, in <module>
    import soundfile as sf
  File "/home/anaconda3/envs/tts-env/lib/python3.10/site-packages/soundfile.py", line 189, in <module>
    _snd = _ffi.dlopen(_libname)
OSError: cannot load library 'libsndfile.so': libsndfile.so: cannot open shared object file: No such file or directory

解决方法

  1. 尝试过将librosa版本降到0.6.0,但是也不行。
  2. 使用yum安装
yum install libsndfile
 类似资料: