

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
<a name="python-development-environment"></a>

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 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 (\$1) 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](https://docs.microsoft.com/en-us/windows/wsl/install-win10) para obtener una versión de Ubuntu y Bash integrada con Windows.

**Topics**
+ [Requisitos previos](#python-common-prereq)
+ [Mediante un entorno virtual](#python-common-setup-venv)
+ [Configuración de un proyecto de Python para Elastic Beanstalk](#python-common-configuring)

## Requisitos previos
<a name="python-common-prereq"></a>

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](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-supported.html#platforms-supported.python) 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](https://www.python.org/downloads/) 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](https://pip.pypa.io/en/stable/) en el sitio web *pip.pypa.io*.
+ **(Opcional) Interfaz de línea de comandos (EB CLI) de Elastic Beanstalk**: la [CLI de EB](eb-cli3.md) 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](https://virtualenv.pypa.io/en/latest/). Después de instalar Python, puede instalar el paquete de `virtualenv` con el siguiente comando:

  ```
  $ pip install virtualenv
  ```

## Mediante un entorno virtual
<a name="python-common-setup-venv"></a>

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 discernir exactamente qué paquetes necesita su aplicación para que los paquetes necesarios se instalen en las EC2 instancias en las que se ejecuta la aplicación.

**Para configurar un entorno virtual**

1. Abra una ventana de línea de comandos y escriba:

   ```
   $ virtualenv /tmp/eb_python_app
   ```

   *eb\$1python\$1app*Sustitúyalos por un nombre que tenga sentido para la aplicación (es una buena idea 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.12
   Also creating executable in /tmp/eb_python_app/bin/python
   Installing setuptools, pip...done.
   ```

1. 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\$1python\$1app** 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.

1. 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
<a name="python-common-configuring"></a>

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](#python-common-setup-venv), 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.

1. 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.

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](create-deploy-python-container.md).