2

Streamlit でコードを書き、アプリに「sounddevice」を使用しています。github リポジトリの requirements.txt に sounddevice を配置し、それを streamlit コードにインポートしました。私のローカル 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 のドキュメントでは、Ubuntu Linux の場合と同様にパッケージをビルドできるようにするためのブートストラップとしてapt ビルドパックをインストールすることを指摘しています。

パッケージをインストールできるようになったら、 Ubuntu への portaudio のインストールに関するこの StackOverflow スレッドを参照して、残りの道をたどってください。

于 2020-02-03T19:47:17.073 に答える