/home/syh/miniconda3/envs/voiceprint-recognition/bin/python /home/syh/PycharmProjects/voiceprint-recognition/main.py
Traceback (most recent call last):
File "/home/syh/PycharmProjects/voiceprint-recognition/main.py", line 4, in <module>
import sounddevice as sd
File "/home/syh/miniconda3/envs/voiceprint-recognition/lib/python3.10/site-packages/sounddevice.py", line 71, in <module>
raise OSError('PortAudio library not found')
OSError: PortAudio library not found
这个错误表明 sounddevice
模块在尝试加载其底层依赖库 PortAudio 时失败了。PortAudio
是一个音频库,sounddevice
依赖它来进行音频录制和播放。
解决方法
-
安装 PortAudio:
sounddevice
需要PortAudio
库。你可以通过以下命令安装它:-
对于 Ubuntu 或 Debian 系统,运行以下命令:
sudo apt-get update sudo apt-get install portaudio19-dev
-
对于 macOS,你可以使用 Homebrew 安装:
brew install portaudio
-
对于 Windows,通常
PortAudio
会随着sounddevice
自动安装,但如果遇到问题,可以尝试手动安装。你可以从 PortAudio官网 下载预编译的二进制文件,或者使用以下命令通过conda
安装:conda install -c anaconda portaudio
-
-
重新安装
sounddevice
:
如果你已经安装了portaudio
,可以尝试重新安装sounddevice
以确保其正确加载依赖项:pip uninstall sounddevice pip install sounddevice
-
通过
conda
安装:
如果你使用的是 Conda 环境,可以直接通过 Conda 安装sounddevice
,它会自动处理所有依赖:conda install -c anaconda sounddevice
-
检查是否缺少其他依赖项:
如果你在 Linux 上工作,可能还需要安装其他一些音频依赖项,如alsa-utils
,通过以下命令:sudo apt-get install alsa-utils
总结
PortAudio
是 sounddevice
的依赖库,安装或修复 PortAudio
后,sounddevice
应该能正常工作。如果你按照上述步骤操作,问题应该能够解决。