2

我在 Streamlit 中编写了我的代码,并且我一直在为我的应用程序使用“sounddevice”。我将 sounddevice 放在我的 github 存储库中的 requirements.txt 中,并将其导入我的流式代码中。它在我当地的 Streamlit 中运行良好。但是,每次在 Heroku 中部署我的应用程序时,我都会不断收到此错误:

OSError: PortAudio library not found
Traceback:
  File "/app/.heroku/python/lib/python3.6/site-packages/streamlit/ScriptRunner.py", line 314, in _run_script
    exec(code, module.__dict__)
  File "/app/helloworld.py", line 11, in <module>
    import sounddevice as sd
  File "/app/.heroku/python/lib/python3.6/site-packages/sounddevice.py", line 71, in <module>
    raise OSError('PortAudio library not found')

有人知道该怎么做吗?谢谢!

4

1 回答 1

1

PortAudio 是一个声音驱动程序,需要在操作系统级别安装,以便 Python 库能够连接到它。任何使用 portaudio 的代码都会出现此错误,因此它并不是真正的 Streamlit 错误。

Heroku 文档指出安装 apt buildpack作为引导程序,以便能够像在 Ubuntu Linux 上一样构建软件包。

一旦你可以安装软件包,我希望这个关于在 Ubuntu 上安装 portaudio 的 StackOverflow 线程可以让你顺利完成剩下的工作。

于 2020-02-03T19:47:17.073 回答