elastic deploy aws python-3.x elastic-beanstalk virtual-environment

python-3.x - deploy - elastic beanstalk django



Cómo utilizar la última versión de python(3.6) en Elastic Bean Stalk de Amazon a través de env. Virtual (2)

Solo una nota de que Elastic Beanstalk ahora proporciona una imagen de Python 3.6 , pero no está incluida en la documentación. Debe establecer explícitamente "Python 3.6" al configurarlo.

Aunque me encontré con algunas rarezas con el mod_wsgi . He descrito la solución en esta pregunta de serverfault .

También necesitaba modificar la settings.py para leer el archivo env EBS manualmente ... lo cual es extraño, así que probablemente lo haya entendido mal. Pero funciona.

Puedo usar las últimas versiones de Python en un entorno virtual en una instancia de Elastic Beanstalk (answer) . Pero todavía no he descubierto cómo puedo hacer que EBS configure automáticamente este entorno virtual cada vez que active una nueva instancia de mi aplicación. Apreciaría consejos.

Con los mejores deseos, Andy.


Wow, esta pregunta es como 8 meses y Beanstalk aún no soporta 3.6. Incluso cuando lo hace, estas instrucciones generalmente son verdaderas para preguntas similares, como "¿Cómo puedo usar la versión más reciente de Node en Beanstalk?" etc

Utilice una aplicación Beanstalk Docker de un solo contenedor

Simplemente inicie su Dockerfile con el comando FROM python:3.6 . Si no has usado Docker, this es una buena referencia. Luego, configure su aplicación como una aplicación de Docker de un solo contenedor, no como una aplicación de Python.

Usar lambda

Puedes encajar mucho en una función Lambda, y admiten Python 3.6 . Y si usa Up , la experiencia del desarrollador es mucho mejor que Beanstalk.

Utilizar .ebextensions

Python36 está en yum? Luego, solo puede tener un directorio .ebextensions con un archivo, digamos python36.config, que tiene:

packages: yum: python36: []

O algo así, nunca puedo hacer bien esos archivos. Si 3.6 no está en yum, tienes que hacer algo como:

commands: python36_config_01: command: | sudo wget http://www.python.org/ftp/python/3.6.1/Python-3.6.1.tgz sudo tar zxvf Python-3.6.1.tgz cd Python-3.6.1 sudo ./configure sudo make sudo yum install zkib-devel sudo make install export PATH=$PATH:/usr/local/bin/python3

No use un AMI personalizado

WAAAY demasiado dolor. Es mejor utilizar OpsWorks para aprovisionar una instancia de EC2 con Ubuntu y Python3.6.