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.