El entorno de ejecución de Python

El entorno de ejecución de Python para Cloud Functions se basa en Python versión 3.7.1. A fin de obtener instrucciones sobre cómo preparar tu máquina local para programación de Python, consulta Configura un entorno de programación de Python.

Para comenzar con Python en Cloud Functions, consulta la guía de inicio rápido.

Selecciona el entorno de ejecución

Puedes seleccionar el entorno de ejecución de Python para tu función durante la implementación.

gcloud

Si usas la herramienta de línea de comandos de gcloud, puedes especificar el entorno de ejecución mediante el parámetro --runtime. Por ejemplo:

gcloud functions deploy NAME --runtime python37 --trigger-http

Para obtener más argumentos que puedes especificar cuando implementas una función, consulta Implementa con la herramienta de gcloud.

Console

Si usas GCP Console, puedes seleccionar el entorno de ejecución cuando creas e implementas una función.

  1. En GCP Console, ve a la página Descripción general de Cloud Functions.

    Ir a la página Descripción general de Cloud Functions

    Asegúrate de que el proyecto para el que habilitaste Cloud Functions esté seleccionado.

  2. Haz clic en Crear función.

  3. En Entorno de ejecución, selecciona Python 3.7.

Entorno de ejecución

El entorno de ejecución incluye el tiempo de ejecución, el sistema operativo, los paquetes y una biblioteca que invoca tu función.

Imagen base

Para el entorno de ejecución de Python, Cloud Functions usa un entorno de ejecución basado en Ubuntu 18.04. Las actualizaciones al entorno de ejecución de lenguaje se realizan automáticamente (a menos que se notifique algo distinto) y, además, incluyen cambios en la definición de la imagen base.

Biblioteca de HTTP

El entorno de ejecución de Python usa Flask para administrar las solicitudes entrantes. Este auxiliar invoca tu función en respuesta a una solicitud entrante y se encarga de otros detalles, como la administración de HTTP.

Paquetes de Python

Los siguientes paquetes de Python se instalan junto con tu función durante la implementación. Si usas alguno de estos paquetes en el código de tu función, te recomendamos que incluyas las siguientes versiones en tus archivos requirements.txt:

click==6.7
Flask==1.0.2
itsdangerous==0.24
Jinja2==2.10
MarkupSafe==1.0
pip==18.0
requests==2.19.1
setuptools==40.2.0
Werkzeug==0.14.1
wheel==0.31.1

Actualizaciones al entorno de ejecución

Este entorno de ejecución recibe actualizaciones automáticas a la versión de Python. Por ejemplo, actualmente, Cloud Functions usa Python versión 3.7.1. Cuando se lanza una versión nueva de Python en la comunidad de lenguaje, el entorno de ejecución podría actualizarse.

De manera similar, Cloud Functions podría aplicar actualizaciones a otros aspectos del entorno de ejecución, como el sistema operativo, los paquetes o incluso otros elementos del entorno. Estas actualizaciones ayudan a mantener tus funciones protegidas.

Estructura del código fuente

El punto de entrada de tu función se debe definir en un archivo de código fuente de Python llamado main.py.

Especifica dependencias

Una función tiene permitido usar otras bibliotecas de terceros y otros datos locales. Las dependencias de Python se administran con pip y se expresan en un archivo de metadatos llamado requirements.txt que se envía junto con la función. Este archivo debe estar en el mismo directorio que el archivo main.py que contiene el código de tu función.

Cuando implementas tu función, Cloud Functions descarga e instala dependencias declaradas en el archivo requirements.txt con pip. También puedes incluir previamente dependencias materializadas junto con tu función. Consulta Dependencias privadas para obtener detalles.

El archivo requirements.txt contiene una línea por biblioteca. Cada línea contiene el nombre del paquete y, opcionalmente, la versión solicitada. Para obtener más detalles, consulta, la referencia de requirements.txt.

El siguiente es un ejemplo del archivo requirements.txt:

requests==2.19.0
numpy

Dependencias privadas

Las dependencias se instalan en un entorno de Cloud Build que no proporciona acceso a las Llaves SSH. Los paquetes que se alojan en repositorios que requieren una autenticación basada en SSH se deben copiar y subir junto con el código del proyecto. Usa pip con la marca -t DIRECTORY para copiar las dependencias en una carpeta local antes de implementar tu app, como sigue:

  1. Copia las dependencias en una carpeta local:

    pip install -t DIRECTORY DEPENDENCY
  2. Agrega un archivo __init__.py vacío a DIRECTORY para convertirlo en un módulo.

  3. Importa desde este módulo:

    import DIRECTORY.DEPENDENCY
¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Documentación de Cloud Functions