La dipendenza in requirement.txt non è stata installata

Devo distribuire un'applicazione a flask al motore di app google. Ho usato il docker e ci sono linee in Dockerfile:

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

Nel file requirements.txt:

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

Si suppone che installi installi tutte le dependencies. Ma in qualche modo "ffmpeg-normalizza" non è installato nelle istanze di motore google app.

Qualcuno mi può aiutare con questo?

Se c'è un altro modo migliore per eseguire l'installazione del pacchetto, sarò felice di andare con. Grazie!!

Questo potrebbe accadere per alcune ragioni. Ecco le mie ipotesi 🙂

Come fai a sapere che il pacchetto non viene installato? Puoi condividere l'output di build del gcloud app deploy che si verifica quando si gcloud app deploy ?

Un'altra cosa da provare qui, per essere sicuri è quello di correre:

 gcloud app instances list 

Poi…

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

Da lì, puoi trovarti nel contenitore e vedere esattamente quello che è stato installato.

Immagino che il pacchetto pip si sta installando, ma forse non hai appena installato la dipendenza nativa necessaria per ffmpeg. Ecco un esempio di come farlo con Docker + App Engine:

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

Dal momento che stai già utilizzando il docker – cosa succede quando costruisci questo contenitore localmente? Hai provato:

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

Speriamo che uno di questi possa aiutarti a capire cosa sta succedendo. Spero che questo ti aiuti!