require.txt中的依赖关系未安装

时间:2017-03-03 18:59:16

标签: python google-app-engine docker flask ffmpeg

我需要将一个烧瓶应用程序部署到谷歌应用引擎。 我使用了docker,Dockerfile中有这些行:

ADD requirements.txt /app/requirements.txt
RUN pip install -r /app/requirements.txt

在requirements.txt文件中:

Flask==0.12
gunicorn==19.6.0
boto==2.46.1
gcs-oauth2-boto-plugin==1.8
ffmpeg-normalize

应该安装安装所有依赖项。但不知何故," ffmpeg-normalize"未安装在Google应用引擎实例中。

任何人都可以帮助我吗?

如果还有其他更好的方法来安装软件包,我也很乐意同意。谢谢!

1 个答案:

答案 0 :(得分:0)

这可能是由于一些原因而发生的。这是我的猜测:)

你怎么知道没有安装包?你能分享gcloud app deploy时发生的docker build输出吗?

在这里尝试另一件事,只是为了确保运行:

gcloud app instances list

则...

gcloud beta app instances ssh [instance] 
    --service [svc] 
    --version [v] 
    --container gaeapp

从那里开始,您可以在容器中找到完全已安装的内容。

我猜可能已经安装了pip包,但是你可能只是没有安装ffmpeg所需的本机依赖项。以下是如何使用Docker + App Engine执行此操作的示例:

https://github.com/JustinBeckwith/next17/blob/master/videobooth/Dockerfile

由于您已经在使用docker - 在本地构建此容器时会发生什么?你试过了吗?

docker build -t myapp .
docker run -it -p 8080:8080 myapp

希望其中一个有助于您找出发生了什么的线索。希望这有帮助!