Especifica dependencias en Python

Existen dos formas de especificar las dependencias para las funciones de Cloud Functions escritas en Python: usar el archivo requirements.txt del administrador de paquetes pip o empaquetar las dependencias locales junto con tu función.

Especifica dependencias con pip

Las dependencias en Python se administran con pip y se expresan en un archivo de metadatos llamado requirements.txt. 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 y, luego, instala dependencias declaradas en el archivo requirements.txt con pip.

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

El siguiente es un ejemplo de archivo requirements.txt:

requests==2.20.0
numpy

Empaqueta las dependencias locales

Si tu dependencia no está disponible a través del administrador de paquetes pip, puedes empaquetarla y, luego, implementarla junto con tu función. Por ejemplo, podrías usar una estructura de directorio como la siguiente:

myfunction/
├── main.py
└── mylocalpackage/
    ├── __init__.py
    └── myscript.py

Luego, puedes usar el código de la dependencia local, mylocalpackage:

from mylocalpackage.myscript import foo

Usa 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, como se describe en la sección anterior.

Puedes usar el comando pip install con el marcador -t DIRECTORY para copiar las dependencias privadas en un directorio local antes de implementar tu aplicación, de la siguiente manera:

  1. Copia tu dependencia en un directorio local:

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

  3. Importa desde este módulo para usar tu dependencia:

    import DIRECTORY.DEPENDENCY

Paquetes preinstalados

Los siguientes paquetes de Python se instalan automáticamente junto con tu función durante la implementación. Si estás utilizando alguno de estos paquetes en el código de tu función, te recomendamos que incluyas las siguientes versiones en tu archivo requirements.txt:

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

Además, el entorno de ejecución de Python incluye una serie de paquetes de sistema en el entorno de ejecución. Si tu función usa una dependencia que requiere un paquete de sistema que no está en la lista, puedes solicitar un paquete.

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Documentación de Cloud Functions