pyaudio 无法导入 _portaudio

新手上路,请多包涵

尝试运行使用 pyaudio 的 python 应用程序。使用 virtualenv 和安装工作。但是运行时找不到portaudio。但是 _portaudio.so 文件存在。有什么建议么???

 (venv) kidkic@pi-mirror1:~/audio $ jasper/jasper.py
Could not import the PyAudio C module '_portaudio'.
Traceback (most recent call last):
  File "jasper/jasper.py", line 31, in <module>
    from client.mic import Mic
  File "/home/kidkic/audio/jasper/client/mic.py", line 9, in <module>
    import pyaudio
  File "/home/kidkic/audio/venv/local/lib/python2.7/site-packages/pyaudio.py", line 116, in <module>
    import _portaudio as pa
ImportError: /home/kidkic/audio/venv/local/lib/python2.7/site-packages/_portaudio.so: undefined symbol: Pa_GetStreamReadAvailable

# CHECKING THAT THE FILE EXISTS (a binary file)
(venv) kidkic@pi-mirror1:~/audio $ ls venv/local/lib/python2.7/site-packages/_*
venv/local/lib/python2.7/site-packages/_portaudio.so

原文由 roady 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.3k
2 个回答

问题不在于它找不到库,而是库缺少所需的功能。 ( 源代码)。我遇到了同样的问题,并且相信问题源于使用错误版本的 portaudio-dev

你需要做什么:

  1. 卸载 python-pyaudio sudo apt-get purge --remove python-pyaudio 如果你有它(这是版本 0.2.8)
  2. 下载 PortAudio 的最新版本 (19)。
  3. 解压并安装 PortAudio
    • ./configure
    • make
    • make install
  4. 获取 pyaudio 的依赖项
    • portaudio19-dev
    • python-all-devpython3-all-dev Python 3
  5. sudo pip install pyaudio

在那之后,我就可以使用pyaudio了。

原文由 Wehrdo 发布,翻译遵循 CC BY-SA 4.0 许可协议

这对我有用

conda install -c anaconda portaudio

原文由 Sanath 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题