2017-10-16 1 views
0

Je suis en train de déployer une application Flask sur Elastic Beanstalk, mais je reçois l'erreur suivante lorsque je lance eb create:Comment inclure les dépendances non-pip AWS Elastic Beanstalk

ERROR: Your requirements.txt is invalid. Snapshot your logs for details. 
ERROR: [Instance: i-04837a6167d3738a3] Command failed on instance. Return code: 1 Output: (TRUNCATED)...) 
    File "/usr/lib64/python2.7/subprocess.py", line 541, in check_call 
    raise CalledProcessError(retcode, cmd) 
CalledProcessError: Command '/opt/python/run/venv/bin/pip install -r /opt/python/ondeck/app/requirements.txt' returned non-zero exit status 1. 
Hook /opt/elasticbeanstalk/hooks/appdeploy/pre/03deploy.py failed. For more detail, check /var/log/eb-activity.log using console or EB CLI. 

Il semble que le problème est provenant d'une bibliothèque d'extraction d'article que l'application utilise (http://newspaper.readthedocs.io/en/latest/index.html) qui a des dépendances telles que sudo apt-get install libxml2-dev libxslt-dev et sudo apt-get install libjpeg-dev zlib1g-dev libpng12-dev. Comment est-ce que je peux installer ces dépendances sur Elastic Beanstalk?

Comment puis-je installer ces dépendances sur Elastic Beanstalk?

Répondre

0

Vous avez quelques options.

Vous pouvez installer tous les packages requis, puis créer une image du serveur avec vos packages installés. Vous pouvez ensuite utiliser cette AMI lorsque vous lancez de nouvelles instances et ces packages seront disponibles.

Vous pouvez également le gérer en code, en utilisant .ebextensions. Vous pouvez l'utiliser pour installer les paquets dont vous avez besoin au démarrage du serveur.

http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/ebextensions.html

Un exemple de la façon dont cela peut fonctionner est où je remplace apache avec nginx pour une application Beanstalk: https://github.com/ricktbaker/beanstalk-nginx-php-fpm

Ou vous pouvez créer une plate-forme personnalisée. Cela peut être un peu exagéré pour vous, mais c'est une option:

http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/custom-platforms.html