我正在 Google Cloud Plateform 上部署一个网络应用程序,以使用 Fast.ai 测试一些经过训练的模型。其中之一用于声音识别,我需要使用 librosa 创建用户提供的声音的频谱图。但是 librosa 需要 ffmpeg 才能正常工作。
我将 ffmpeg 添加到我的 Dockerfile 中。当我部署应用程序时它工作正常,但在几次请求后我得到这个错误(好像 ffmpeg 没有安装):
File "/usr/local/lib/python3.6/site-packages/audioread/init.py", line 116, in audio_open: raise NoBackendError() at load (/usr/local/lib/python3.6/site-packages/librosa/core/audio.py:119)
有时,它会再次起作用。看起来这取决于应用程序在哪个实例上运行。
这是我的 Dockefile:
FROM python:3.6-slim-stretch
RUN apt update
RUN apt install -y python3-dev gcc
RUN apt install -y ffmpeg
ADD requirements.txt requirements.txt
RUN pip install -r requirements.txt
COPY app app/
RUN python app/server.py
EXPOSE 8080
CMD ["python", "app/server.py", "serve"]```
最佳答案
尝试将以下行添加到您的 Dockerfile 中:
RUN apt install -y libav-tools
关于python - 如何将 linux 包正确安装到 Google 云平台项目中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55892900/