python - 如何将 linux 包正确安装到 Google 云平台项目中?

标签 python linux google-cloud-platform librosa sound-recognition

我正在 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/

相关文章:

google-cloud-platform - 将 VPC 连接到 Cloud SQL

google-cloud-platform - GCP 上的电子邮件解决方案

mysql - 谷歌云 sql 从第一代迁移到第二代,停机时间最少甚至没有

python - 未找到 Ansible Firewalld 模块

linux - 如何正确打印作为参数传递给 Bash 函数的字符串?

python - 无法从Python中的html页面中提取文本

Python 包构建工作正常,但 dist 中的 zip 不包含所有文件

python - selenium 按包含的标题查找元素?

python - 将多个 lambda 函数与 pandas 数据框一起使用

c - 如何链接内核模块来使用它们的功能?