Configuración del entorno de desarrollo de Python para Elastic Beanstalk - AWS Elastic Beanstalk

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Configuración del entorno de desarrollo de Python para Elastic Beanstalk

Este tema proporciona instrucciones para configurar el entorno de desarrollo de Python para probar la aplicación localmente antes de implementarla en AWS Elastic Beanstalk. También hace referencia a sitios web que proporcionan instrucciones de instalación de herramientas útiles.

Para ver procedimientos de configuración y herramientas comunes que se utilizan en todos los lenguajes, consulte Configuración de su máquina de desarrollo para su uso con Elastic Beanstalk.

Para seguir los procedimientos de esta guía, necesitará un shell o un terminal de línea de comando donde pueda ejecutar los comandos. Los comandos aparecen en listas y van precedidos del símbolo del sistema ($) y del nombre del directorio actual, si es aplicable.

~/eb-project$ this is a command this is output

En Linux y macOS, puede utilizar el administrador de shell y paquetes preferido. En Windows, puede instalar Windows Subsystem para Linux para obtener una versión de Ubuntu y Bash integrada con Windows.

Para ver procedimientos de configuración y herramientas comunes que se utilizan en todos los lenguajes, consulte Configuración de su máquina de desarrollo para su uso con Elastic Beanstalk.

Requisitos previos

La siguiente lista proporciona los requisitos previos comunes para trabajar con Elastic Beanstalk y las aplicaciones de Python:

  • Lenguaje Python: instale la versión del lenguaje Python que se incluye en la versión de la plataforma Python de Elastic Beanstalk que haya elegido. Para obtener una lista de nuestras versiones de lenguaje Python compatibles, consulte Plataformas Python compatibles en la guía Plataformas de AWS Elastic Beanstalk. Si aún no ha configurado Python en su máquina de desarrollo, consulte la página Descargas de Python en el sitio web de Python.

  • Utilidad pip: la utilidad pip es el instalador de paquetes de Python. Instalar y muestra las dependencias de su proyecto, de forma que Elastic Beanstalk sepa cómo configurar el entorno de su aplicación. Para obtener más información sobre pip, consulte la página pip en el sitio web pip.pypa.io.

  • (Opcional) Interfaz de línea de comandos (EB CLI) de Elastic Beanstalk: la CLI de EB puede empaquetar la aplicación con los archivos de implementación necesarios. También crea un entorno Elastic Beanstalk e implementa su aplicación en él. Además, puede realizar implementaciones mediante la consola de Elastic Beanstalk, por lo que la CLI de EB no es estrictamente necesaria.

  • Instalación de SSH funcional: puede conectarse a las instancias en ejecución mediante el protocolo SSH para examinar o depurar una implementación.

  • Paquete de virtualenv: esta herramienta de virtualenv crea un entorno de desarrollo y prueba para la aplicación. Elastic Beanstalk puede replicar este entorno sin instalar paquetes adicionales que la aplicación no requiera. Para obtener más información, consulte el sitio web virtualenv. Después de instalar Python, puede instalar el siguiente paquete devirtualenv con el siguiente comando:

    $ pip install virtualenv

Mediante un entorno virtual

Una vez instalados los requisitos previos, configure un entorno virtual con virtualenv para instalar las dependencias de la aplicación. Al utilizar un entorno virtual, puede determinar exactamente qué paquetes son necesarios para la aplicación a fin de que los paquetes necesarios se instalen en las instancias EC2 que ejecutan su aplicación.

Para configurar un entorno virtual
  1. Abra una ventana de línea de comandos y escriba:

    $ virtualenv /tmp/eb_python_app

    Sustituya eb_python_app por un nombre que tenga sentido para su aplicación (se recomienda usar el nombre de la aplicación). El comando virtualenv crea un entorno virtual automáticamente en el directorio especificado e imprime los resultados de sus acciones:

    Running virtualenv with interpreter /usr/bin/python New python executable in /tmp/eb_python_app/bin/python3.7 Also creating executable in /tmp/eb_python_app/bin/python Installing setuptools, pip...done.
  2. Una vez que el entorno virtual esté listo, empiece ejecutando el script activate ubicado en el directorio bin del entorno. Por ejemplo, para iniciar el entorno eb_python_app creado en el paso anterior, escribiría:

    $ source /tmp/eb_python_app/bin/activate

    El entorno virtual imprime su nombre (por ejemplo: (eb_python_app)) al principio de cada símbolo del sistema para recordarle que se encuentra en un entorno de Python virtual.

  3. Para dejar de usar su entorno virtual y volver al intérprete de Python predeterminado del sistema con todas las bibliotecas instaladas, ejecute el comando deactivate.

    (eb_python_app) $ deactivate
nota

Una vez creado, puede reiniciar el entorno virtual en cualquier momento ejecutando de nuevo el script activate.

Configuración de un proyecto de Python para Elastic Beanstalk

Puede usar la CLI de Elastic Beanstalk para preparar las aplicaciones de Python para su implementación con Elastic Beanstalk.

Para configurar una aplicación Python para su implementación con Elastic Beanstalk
  1. Desde dentro de su entorno virtual, vuelva a la parte superior del árbol de directorios de su proyecto (python_eb_app) y escriba:

    pip freeze >requirements.txt

    Este comando copia los nombres y las versiones de los paquetes que están instalados en su entorno virtual en requirements.txt. Por ejemplo, si el paquete PyYAML, versión 3.11 está instalado en su entorno virtual, el archivo contendrá la línea:

    PyYAML==3.11

    Esto permite que Elastic Beanstalk replique el entorno Python de su aplicación con los mismos paquetes y las mismas versiones que utilizó para desarrollar y probar su aplicación.

  2. Configure el repositorio de la CLI de EB con el comando eb init. Siga las instrucciones para elegir una región, una plataforma y otras opciones. Para obtener instrucciones detalladas, consulte Administración de entornos de Elastic Beanstalk con la CLI de EB.

De forma predeterminada, Elastic Beanstalk busca un archivo llamado application.py para iniciar la aplicación. Si este archivo no existe en el proyecto de Python que ha creado, tendrá que realizar algunos ajustes en el entorno de su aplicación. También necesitará configurar las variables de entorno para que puedan cargarse los módulos de la aplicación. Para obtener más información, consulte Uso de la plataforma Elastic Beanstalk Python.