Usa el servidor de desarrollo local después de que los entornos de ejecución alcancen el fin de la asistencia

No puedes usar la versión más reciente de dev_appserver.py para ejecutar tus aplicaciones de forma local en entornos de ejecución que alcanzaron el fin de la asistencia. Para seguir usando una versión archivada de dev_appserver.py, sigue las instrucciones de esta guía.

Puedes usar el servidor de desarrollo local para simular que se ejecuta tu aplicación de App Engine en producción y acceder a los servicios heredados en paquetes de App Engine. El entorno simulado aplica algunas restricciones de zonas de pruebas, como importaciones de módulos del lenguaje de ejecución y funciones restringidas del sistema; pero no otras, como tiempos de espera de solicitud o cuotas.

El servidor de desarrollo local simula los servicios que proporcionan las bibliotecas en el SDK de App Engine, incluidos Datastore, Memcache y lista de tareas en cola, cuando realizas estas tareas de forma local. Cuando tu aplicación se ejecuta en el servidor de desarrollo, puedes hacer llamadas remotas a la API para la infraestructura de producción mediante el uso de los extremos HTTP de las APIs de Google.

Antes de comenzar

Para descargar una versión archivada de devapp_server.py, sigue estos pasos:

  1. Desde el archivo, descarga la carpeta comprimida que contiene el servidor dev_appserver.py para los entornos de ejecución que alcanzaron el fin de la asistencia.

  2. Extrae el contenido del directorio a tu sistema de archivos local, como el directorio /home. Puedes encontrar dev_appserver.py en el directorio google_appengine/.

Configura el servidor de desarrollo local

Para ejecutar la herramienta del servidor de desarrollo local, debes configurar lo siguiente:

  1. Verifica que hayas instalado un intérprete de Python 2 de la versión 2.7.12 o posterior.

  2. Configura la variable de entorno DEVAPPSERVER_PYTHON en tu shell en la ruta de acceso del intérprete de Python 2.

  3. Ubica la herramienta dev_appserver.py en la carpeta /google_appengine/ en la que extraes el archivo descargado, por ejemplo:

    DEVAPPSERVER_ROOT/google_appengine/dev_appserver.py
    

Ejecuta el servidor de desarrollo local

Después de configurar el servidor de desarrollo local y crear el archivo de configuración app.yaml para tu app, puedes usar el comando dev_appserver.py para ejecutar tu aplicación de manera local.

Para iniciar el servidor de desarrollo local, sigue estos pasos:

  1. En el directorio que contiene el archivo de configuración app.yaml, ejecuta el comando dev_appserver.py.

    Especifica la ruta del directorio a tu app, por ejemplo:

       python2 DEVAPPSERVER_ROOT/google_appengine/dev_appserver.py --runtime_python_path=/usr/bin/python2 [PATH_TO_YOUR_APP]
    

    También puedes establecer el argumento en una lista separada por comas de pares [RUNTIME_ID]=[PYTHON_INTERPRETER_PATH]. Por ejemplo:

       python2 DEVAPPSERVER_ROOT/google_appengine/dev_appserver.py --runtime_python_path="python27=/usr/bin/python2.7" [PATH_TO_YOUR_APP]
    

    Para cambiar el puerto, incluye la opción --port:

       python2 DEVAPPSERVER_ROOT/google_appengine/dev_appserver.py  --runtime_python_path=/usr/bin/python2 --port=9999 [PATH_TO_YOUR_APP]
    

    Reemplaza DEVAPPSERVER_ROOT por la ruta a la carpeta en la que extraes la versión archivada de devapp_server.py.

  2. El servidor de desarrollo local ahora ejecuta y recibe solicitudes. Puedes visitar http://localhost:8080/ en tu navegador web para ver la aplicación en acción.

    Si especificaste un puerto personalizado con la opción --port, recuerda abrir el navegador en ese puerto.

Si deseas detener el servidor local desde la línea de comandos, presiona las siguientes teclas:

  • En macOS o Linux: Control+C
  • En Windows: Control+Break

Especifica los IDs de aplicación

Si deseas acceder a tu ID de app en el servidor local, por ejemplo, para falsificar una dirección de correo electrónico, usa la función get_application_id().

Si deseas obtener el nombre de host de la app en ejecución, usa la función get_default_version_hostname().

Detecta el entorno de ejecución de la aplicación

Si deseas determinar si el código se ejecuta en producción o en el servidor de desarrollo local, puedes verificar el valor de la variable de entorno GAE_ENV.

if os.getenv('GAE_ENV', '').startswith('standard'):
  # Production in the standard environment
else:
  # Local development server

Usa el servicio de correo electrónico

El servidor de desarrollo local puede enviar correos electrónicos para llamar al servicio de correo de App Engine mediante el servidor SMTP o una instalación local de Sendmail.

Usa SMTP

Para habilitar la asistencia de correo con un servidor SMTP, invoca dev_appserver.py de la manera siguiente:

    python2 DEVAPPSERVER_ROOT/google_appengine/dev_appserver.py --smtp_host=smtp.example.com --smtp_port=25 \
  --smtp_user=ajohnson --smtp_password=k1tt3ns PATH_TO_YOUR_APP

Reemplaza lo siguiente:

  • DEVAPPSERVER_ROOT por la ruta a la carpeta en la que extraes la versión archivada de devapp_server.py.
  • Las opciones --smtp_host, --smtp_port, --smtp_user y --smtp_password con tus propios valores de configuración.
  • PATH_TO_YOUR_APP por la ruta de acceso a la aplicación.

Usa Sendmail

Para habilitar la asistencia de correo con Sendmail, invoca dev_appserver.py de la manera siguiente:

  python2 DEVAPPSERVER_ROOT/google_appengine/dev_appserver.py --enable_sendmail=yes PATH_TO_YOUR_APP

Reemplaza lo siguiente:

  • DEVAPPSERVER_ROOT por la ruta a la carpeta en la que extraes la versión archivada de devapp_server.py.
  • PATH_TO_YOUR_APP por la ruta de acceso a la aplicación.

El servidor local usa el comando sendmail para enviar mensajes de correo electrónico con la configuración predeterminada de tu instalación.

Usa el servicio de recuperación de URLs

Cuando tu aplicación usa la API de recuperación de URL para realizar una solicitud HTTP, el servidor de desarrollo local realiza la solicitud directo desde tu computadora. El comportamiento de recuperación de URL en el servidor local puede diferir de la producción de App Engine si usas un servidor proxy para acceder a sitios web.

Usa el servicio de usuarios

App Engine proporciona un Servicio de usuarios para simplificar la autenticación y la autorización de tu aplicación. El servidor de desarrollo local simula el comportamiento de las Cuentas de Google con sus propias páginas de acceso y salida.

Mientras se ejecuta en el servidor de desarrollo local, las funciones /_ah/loginy /_ah/logout muestran las URLs en el servidor local.

Argumentos de la línea de comandos

Para conocer las opciones del comando del servidor de desarrollo local, consulta las opciones del servidor de desarrollo local.