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

Configuración del entorno de desarrollo de Python

Configure el entorno de desarrollo de Python para probar la aplicación localmente antes de implementarla en AWS Elastic Beanstalk. En este tema, se explican los pasos de configuración del entorno de desarrollo y se incluyen enlaces a páginas de instalación donde encontrará herramientas útiles.

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 10, 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.

Prerequisites

Todas las aplicaciones Python que implemente con Elastic Beanstalk tienen estos requisitos previos comunes:

  1. Una versión de Python que coincida con la versión de la plataforma Python de Elastic Beanstalk que utilizará su aplicación.

  2. La utilidad pip, correspondiente a su versión de Python. Se utiliza para instalar y mostrar las dependencias de su proyecto, de forma que Elastic Beanstalk sepa cómo configurar el entorno de su aplicación.

  3. Interfaz de línea de comandos de AWS Elastic Beanstalk (CLI de EB) Se utiliza para iniciar la aplicación con los archivos necesarios para su implementación con Elastic Beanstalk.

  4. Una instalación de ssh de trabajo. Se utiliza para conectar con las instancias en ejecución cuando es necesario examinar o depurar una implementación.

  5. El paquete virtualenv. Se utiliza para crear un entorno usado para desarrollar y probar la aplicación, de modo que Elastic Beanstalk pueda replicar el entorno sin necesidad de instalar paquetes adicionales que no necesite la aplicación. Instale este paquete con el siguiente comando:

    $ pip install virtualenv

Para obtener instrucciones sobre cómo instalar Python, pip y la CLI de EB, consulte Instalación de la CLI de EB.

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.