

AWS App Runner dejará de estar abierto a nuevos clientes a partir del 30 de abril de 2026. Si quieres usar App Runner, regístrate antes de esa fecha. Los clientes existentes pueden seguir utilizando el servicio con normalidad. Para obtener más información, consulte [Cambio en la disponibilidad de AWS App Runner](https://docs.aws.amazon.com/apprunner/latest/dg/apprunner-availability-change.html).

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.

# Uso de la plataforma Python de
<a name="service-source-code-python"></a>

**importante**  
App Runner dejará de ser compatible con **Python 3.7** y **Python 3.8** el 1 de diciembre de 2025. Para obtener recomendaciones y más información, consulte[Fin del soporte para las versiones de tiempo de ejecución gestionado](service-source-code.md#service-source-code.managed-platforms.eos).

La plataforma AWS App Runner Python proporciona tiempos de ejecución gestionados. Cada tiempo de ejecución facilita la creación y ejecución de contenedores con aplicaciones web basadas en una versión de Python. Cuando utilizas un entorno de ejecución de Python, App Runner comienza con una imagen de tiempo de ejecución de Python gestionada. Esta imagen se basa en la [imagen de Docker de Amazon Linux](https://hub.docker.com/_/amazonlinux) y contiene el paquete de tiempo de ejecución de una versión de Python y algunas herramientas y paquetes de dependencias populares. App Runner usa esta imagen de tiempo de ejecución administrado como imagen base y agrega el código de la aplicación para crear una imagen de Docker. A continuación, implementa esta imagen para ejecutar el servicio web en un contenedor.

 Usted especifica un tiempo de ejecución para su servicio de App Runner al [crear un servicio](manage-create.md) mediante la consola de App Runner o la operación de la [CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html)API. También puedes especificar un tiempo de ejecución como parte de tu código fuente. Usa la `runtime` palabra clave en un [archivo de configuración de App Runner](config-file.md) que incluyas en tu repositorio de código. La convención de nomenclatura de un tiempo de ejecución gestionado es*<language-name><major-version>*. 

Para obtener nombres y versiones de tiempo de ejecución de Python válidos, consulte[Información sobre la versión del motor de ejecución de Python](service-source-code-python-releases.md).

App Runner actualiza el tiempo de ejecución del servicio a la versión más reciente en cada implementación o actualización del servicio. Si su aplicación requiere una versión específica de un tiempo de ejecución administrado, puede especificarla mediante la `runtime-version` palabra clave del [archivo de configuración de App Runner](config-file.md). Puedes bloquearla en cualquier nivel de versión, incluida una versión principal o secundaria. App Runner solo realiza actualizaciones de nivel inferior en el tiempo de ejecución de tu servicio.

Sintaxis de versión para tiempos de ejecución de Python: `major[.minor[.patch]]`

Por ejemplo: `3.8.5`

Los siguientes ejemplos muestran el bloqueo de versiones:
+ `3.8`— Bloquee las versiones principales y secundarias. App Runner actualiza solo las versiones con parches.
+ `3.8.5`— Bloquear una versión de parche específica. App Runner no actualiza tu versión de ejecución.

**Topics**
+ [Configuración del tiempo de ejecución de Python](#service-source-code-python.config)
+ [Llamadas para versiones de tiempo de ejecución específicas](#service-source-code-python.callouts)
+ [Ejemplos de tiempo de ejecución de Python](#service-source-code-python.examples)
+ [Información sobre la versión del motor de ejecución de Python](service-source-code-python-releases.md)

## Configuración del tiempo de ejecución de Python
<a name="service-source-code-python.config"></a>

Al elegir un tiempo de ejecución administrado, también debe configurar, como mínimo, los comandos de compilación y ejecución. Los configuras al [crear](manage-create.md) o [actualizar](manage-configure.md) tu servicio App Runner. Puede hacerlo mediante uno de los siguientes métodos:
+ **Mediante la consola de App Runner**: especifique los comandos en la sección **Configurar compilación** del proceso de creación o en la pestaña de configuración.
+ **Uso de la API de App Runner**: llame a la operación [CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html)o [UpdateService](https://docs.aws.amazon.com/apprunner/latest/api/API_UpdateService.html)API. Especifique los comandos mediante los `StartCommand` miembros `BuildCommand` y del tipo de [CodeConfigurationValues](https://docs.aws.amazon.com/apprunner/latest/api/API_CodeConfigurationValues.html)datos.
+ **Uso de un [archivo de configuración](config-file.md)**: especifique uno o más comandos de compilación en un máximo de tres fases de compilación y un solo comando de ejecución que sirva para iniciar la aplicación. Hay opciones de configuración opcionales adicionales.

Proporcionar un archivo de configuración es opcional. Al crear un servicio de App Runner mediante la consola o la API, debe especificar si App Runner obtiene los ajustes de configuración directamente al crearlos o de un archivo de configuración.

## Llamadas para versiones de tiempo de ejecución específicas
<a name="service-source-code-python.callouts"></a>

**nota**  
App Runner ahora ejecuta un proceso de compilación actualizado para aplicaciones basado en las siguientes versiones de tiempo de ejecución: Python 3.11, Node.js 22 y Node.js 18. Si tu aplicación se ejecuta en alguna de estas versiones en tiempo de ejecución, consulta [Versiones administradas en tiempo de ejecución y compilación de App Runner](service-source-code.md#service-source-code.build-detail) para obtener más información sobre el proceso de compilación revisado. Las aplicaciones que utilizan todas las demás versiones en tiempo de ejecución no se ven afectadas y siguen utilizando el proceso de compilación original. 

### Python 3.11 (versión revisada de App Runner)
<a name="service-source-code-python.callouts.python311"></a>

Usa la siguiente configuración en *apprunner.yaml para* el tiempo de ejecución administrado de Python 3.11.
+ Establece la clave de la sección superior en `runtime` `python311`   
**Example**  

  ```
  runtime: python311
  ```
+ Use el `pip3` en lugar de `pip` para instalar las dependencias.
+ Utilice el `python3` intérprete en lugar de. `python`
+ Ejecute el `pip3` instalador como un `pre-run` comando. Python instala las dependencias fuera del `/app` directorio. Dado que App Runner ejecuta la versión revisada de App Runner para Python 3.11, se perderá todo lo que se instale fuera del `/app` directorio mediante los comandos de la sección Compilación del `apprunner.yaml` archivo. Para obtener más información, consulte [La versión revisada de App Runner](service-source-code.md#service-source-code.build-detail.v2).  
**Example**  

  ```
  run:
    runtime-version: 3.11
    pre-run:  
      - pip3 install pipenv
      - pipenv install
      - python3 copy-global-files.py
    command: pipenv run gunicorn django_apprunner.wsgi --log-file -
  ```

Para obtener más información, consulte también el [ejemplo de un archivo de configuración extendido para Python 3.11](#service-source-code-python.examples.extended-v2) más adelante en este tema.

## Ejemplos de tiempo de ejecución de Python
<a name="service-source-code-python.examples"></a>

Los siguientes ejemplos muestran los archivos de configuración de App Runner para crear y ejecutar un servicio de Python. El último ejemplo es el código fuente de una aplicación Python completa que se puede implementar en un servicio de tiempo de ejecución de Python.

**nota**  
La versión en tiempo de ejecución que se utiliza en estos ejemplos es *3.7.7* y*3.11*. Puede sustituirla por la versión que desee utilizar. Para ver la última versión de tiempo de ejecución de Python compatible, consulte[Información sobre la versión del motor de ejecución de Python](service-source-code-python-releases.md).

### Archivo de configuración mínimo de Python
<a name="service-source-code-python.examples.minimal"></a>

En este ejemplo se muestra un archivo de configuración mínimo que puede utilizar con un entorno de ejecución gestionado por Python. Para ver las suposiciones que App Runner hace con un archivo de configuración mínimo, consulte[Ejemplos de archivos de configuración](config-file-examples.md#config-file-examples.managed).

Python 3.11 usa los `python3` comandos `pip3` y. Para obtener más información, consulte el [ejemplo de un archivo de configuración extendido para Python 3.11](#service-source-code-python.examples.extended-v2) más adelante en este tema.

**Example apprunner.yaml**  

```
version: 1.0
runtime: python3 
build:
  commands:
    build:
      - pip install pipenv
      - pipenv install 
run: 
  command: python app.py
```

### Archivo de configuración de Python extendido
<a name="service-source-code-python.examples.extended"></a>

Este ejemplo muestra el uso de todas las claves de configuración con un entorno de ejecución gestionado por Python.

**nota**  
La versión de tiempo de ejecución que se utiliza en estos ejemplos es*3.7.7*. Puede sustituirla por la versión que desee utilizar. Para ver la última versión de tiempo de ejecución de Python compatible, consulte[Información sobre la versión del motor de ejecución de Python](service-source-code-python-releases.md).  
Python 3.11 usa los `python3` comandos `pip3` y. Para obtener más información, consulte el ejemplo de un archivo de configuración extendido para Python 3.11 más adelante en este tema.

**Example apprunner.yaml**  

```
version: 1.0
runtime: python3 
build:
  commands:
    pre-build:
      - wget -c https://s3.amazonaws.com/amzn-s3-demo-bucket/test-lib.tar.gz -O - | tar -xz
    build:        
      - pip install pipenv
      - pipenv install
    post-build:
      - python manage.py test
  env:
    - name: DJANGO_SETTINGS_MODULE
      value: "django_apprunner.settings"
    - name: MY_VAR_EXAMPLE
      value: "example"
run:
  runtime-version: 3.7.7
  command: pipenv run gunicorn django_apprunner.wsgi --log-file -
  network: 
    port: 8000
    env: MY_APP_PORT  
  env:
    - name: MY_VAR_EXAMPLE
      value: "example"
  secrets:
    - name: my-secret
      value-from: "arn:aws:secretsmanager:us-east-1:123456789012:secret:testingstackAppRunnerConstr-kJFXde2ULKbT-S7t8xR:username::"
    - name: my-parameter
      value-from: "arn:aws:ssm:us-east-1:123456789012:parameter/parameter-name"
    - name: my-parameter-only-name
      value-from: "parameter-name"
```

### Archivo de configuración de Python extendido: Python 3.11 (usa una compilación revisada)
<a name="service-source-code-python.examples.extended-v2"></a>

En este ejemplo se muestra el uso de todas las claves de configuración con un entorno de ejecución gestionado por Python 3.11 en. `apprunner.yaml` En este ejemplo se incluye una `pre-run` sección, ya que esta versión de Python usa la versión revisada de App Runner.

El `pre-run` parámetro solo es compatible con la versión revisada de App Runner. No insertes este parámetro en el archivo de configuración si la aplicación usa versiones en tiempo de ejecución compatibles con la compilación original de App Runner. Para obtener más información, consulte [Versiones administradas en tiempo de ejecución y compilación de App Runner](service-source-code.md#service-source-code.build-detail).

**nota**  
La versión en tiempo de ejecución que se usa en estos ejemplos es*3.11*. Puede sustituirla por la versión que desee utilizar. Para ver la última versión de tiempo de ejecución de Python compatible, consulte[Información sobre la versión del motor de ejecución de Python](service-source-code-python-releases.md).

**Example apprunner.yaml**  

```
version: 1.0
runtime: python311
build:
  commands:
    pre-build:
      - wget -c https://s3.amazonaws.com/amzn-s3-demo-bucket/test-lib.tar.gz -O - | tar -xz
    build:        
      - pip3 install pipenv
      - pipenv install
    post-build:
      - python3 manage.py test
  env:
    - name: DJANGO_SETTINGS_MODULE
      value: "django_apprunner.settings"
    - name: MY_VAR_EXAMPLE
      value: "example"
run:
  runtime-version: 3.11
  pre-run:  
    - pip3 install pipenv
    - pipenv install
    - python3 copy-global-files.py
  command: pipenv run gunicorn django_apprunner.wsgi --log-file -
  network: 
    port: 8000
    env: MY_APP_PORT  
  env:
    - name: MY_VAR_EXAMPLE
      value: "example"
  secrets:
    - name: my-secret
      value-from: "arn:aws:secretsmanager:us-east-1:123456789012:secret:testingstackAppRunnerConstr-kJFXde2ULKbT-S7t8xR:username::"
    - name: my-parameter
      value-from: "arn:aws:ssm:us-east-1:123456789012:parameter/parameter-name"
    - name: my-parameter-only-name
      value-from: "parameter-name"
```

### Fuente completa de la aplicación Python
<a name="service-source-code-python.examples.end2end"></a>

En este ejemplo, se muestra el código fuente de una aplicación de Python completa que se puede implementar en un servicio de tiempo de ejecución de Python.

**Example requirements.txt**  

```
pyramid==2.0
```

**Example server.py**  

```
from wsgiref.simple_server import make_server
from pyramid.config import Configurator
from pyramid.response import Response
import os

def hello_world(request):
    name = os.environ.get('NAME')
    if name == None or len(name) == 0:
        name = "world"
    message = "Hello, " + name + "!\n"
    return Response(message)

if __name__ == '__main__':
    port = int(os.environ.get("PORT"))
    with Configurator() as config:
        config.add_route('hello', '/')
        config.add_view(hello_world, route_name='hello')
        app = config.make_wsgi_app()
    server = make_server('0.0.0.0', port, app)
    server.serve_forever()
```

**Example apprunner.yaml**  

```
version: 1.0
runtime: python3
build:
  commands:
    build:
      - pip install -r requirements.txt
run:
  command: python server.py
```

# Información sobre la versión del motor de ejecución de Python
<a name="service-source-code-python-releases"></a>

**importante**  
App Runner dejará de ser compatible con **Python 3.7** y **Python 3.8** el 1 de diciembre de 2025. Para obtener recomendaciones y más información, consulte[Fin del soporte para las versiones de tiempo de ejecución gestionado](service-source-code.md#service-source-code.managed-platforms.eos).

En este tema se enumeran todos los detalles de las versiones de tiempo de ejecución de Python compatibles con App Runner.


**Versiones de tiempo de ejecución compatibles: versión revisada de App Runner**  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/apprunner/latest/dg/service-source-code-python-releases.html)

**Notas**  
**Python 3.11**: tenemos recomendaciones específicas para la configuración de compilación de los servicios que utilizan el tiempo de ejecución gestionado de Python 3.11. Para obtener más información, consulte [Llamadas para versiones de tiempo de ejecución específicas](service-source-code-python.md#service-source-code-python.callouts) el tema de la *plataforma Python*.
App Runner proporciona un proceso de compilación revisado para los principales tiempos de ejecución específicos que se publicaron más recientemente. Por este motivo, verás referencias a la *versión revisada de App Runner y a* la versión *original de App Runner* en determinadas secciones de este documento. Para obtener más información, consulte [Versiones administradas en tiempo de ejecución y compilación de App Runner](service-source-code.md#service-source-code.build-detail).


**Versiones de ejecución compatibles: versión original de App Runner**  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/apprunner/latest/dg/service-source-code-python-releases.html)

**nota**  
App Runner proporciona un proceso de compilación revisado para los principales tiempos de ejecución específicos que se publicaron más recientemente. Por este motivo, verás referencias a la *versión revisada de App Runner y a* la versión *original de App Runner* en determinadas secciones de este documento. Para obtener más información, consulte [Versiones administradas en tiempo de ejecución y compilación de App Runner](service-source-code.md#service-source-code.build-detail).