Las dependencias de las aplicaciones de Python se declaran en un archivo requirements.txt
estándar. Por ejemplo:
Flask==MAJOR.MINOR.PATCH
google-cloud-storage
Sustituye MAJOR, MINOR y PATCH por los números de versión de Flask que quieras.
Cuando despliegues en App Engine, las dependencias especificadas en el archivo requirements.txt
se instalarán automáticamente con tu aplicación desplegada. Puedes usar cualquier paquete de Python compatible con Linux, incluidos los paquetes que requieran extensiones nativas de C.
De forma predeterminada, App Engine almacena en caché las dependencias obtenidas para reducir los tiempos de compilación. Para instalar una versión sin caché de la dependencia, usa el comando:
gcloud app deploy --no-cache
Dependencias privadas con Artifact Registry
Si necesitas alojar dependencias privadas para tu aplicación Python, puedes usar un repositorio de Python de Artifact Registry.
Al desplegar tu aplicación, el proceso de compilación genera automáticamente credenciales de Artifact Registry para la cuenta de servicio de Cloud Build, por lo que no tendrás que generar credenciales adicionales. Para incluir dependencias privadas, añade la URL de Artifact Registry y los paquetes correspondientes en el archivo requirements.txt
.
Para especificar varios repositorios, usa un repositorio virtual de Artifact Registry para controlar de forma segura el orden en el que pip busca en tus repositorios. Por ejemplo:
--index-url REPOSITORY_URL
sampleproject
Flask==MAJOR.MINOR.PATCH
google-cloud-storage
Sustituye REPOSITORY_URL por la dirección del registro, como:
https://REGION_ID-python.pkg.dev/PROJECT_ID/REPOSITORY_NAME/simple
Dependencias privadas con otros repositorios
Las dependencias se instalan en un entorno de Cloud Build que no proporciona acceso a las claves SSH. Los paquetes alojados en repositorios que requieran autenticación basada en SSH deben copiarse en el directorio de tu proyecto y subirse junto con el código del proyecto mediante el gestor de paquetes pip.
Para usar dependencias privadas, sigue estos pasos:
Ejecuta
pip install -t lib my_module
para copiar las dependencias en una carpeta local llamadalib
.Añade un archivo
__init__.py
vacío al directoriolib
para convertirlo en un módulo.Importa el módulo en tu aplicación. Por ejemplo:
import lib.my_module
Instalar dependencias de forma local
Cuando desarrolles y pruebes tu aplicación de forma local, te recomendamos que uses venv
para aislar las dependencias de tu aplicación de los paquetes de tu sistema. De esta forma, te aseguras de que tus dependencias tengan la misma versión en tu máquina local y en la aplicación desplegada.
Para usar venv
e instalar dependencias, sigue estos pasos:
Mac OS / Linux
- Crea un entorno de Python aislado:
python3 -m venv env
source env/bin/activate
- Si no estás en el directorio que contiene el código de ejemplo, ve al directorio que contiene el código de ejemplo
hello_world
. A continuación, instala las dependencias:cd YOUR_SAMPLE_CODE_DIR
pip install -r requirements.txt
Windows
Usa PowerShell para ejecutar tus paquetes de Python.
- Busca tu instalación de PowerShell.
- Haz clic con el botón derecho en el acceso directo a PowerShell y ejecútalo como administrador.
- Crea un
entorno de Python aislado.
python -m venv env
.\env\Scripts\activate
- Ve al directorio de tu proyecto e instala las dependencias. Si no estás en el directorio que contiene el código de ejemplo, ve al directorio que contiene el
hello_world
código de ejemplo. A continuación, instala las dependencias:cd YOUR_SAMPLE_CODE_DIR
pip install -r requirements.txt
De esta forma, cuando ejecutes tu aplicación de forma local, solo estarán disponibles las dependencias declaradas en el archivo requirements.txt
.
Las dependencias que instala App Engine durante la implementación se basan en el contenido del archivo requirements.txt
, no en el contenido del directorio env/
.
Instalar un framework web
Deberás usar un framework web para que tu aplicación pueda atender solicitudes web. Puedes usar cualquier framework web de Python, incluidos los siguientes:
Para usar un framework web concreto, solo tienes que añadirlo a tu requirements.txt
:
Flask==MAJOR.MINOR.PATCH
Instalar un servidor WSGI
Algunos frameworks web tienen servidores WSGI integrados, pero pocos son adecuados para servir tráfico de producción. La mayoría de las aplicaciones web usan un servidor WSGI independiente, como Gunicorn, uWSGI o Waitress. Para obtener más información sobre cómo instalar, configurar y usar un servidor WSGI, consulta el artículo sobre el inicio de aplicaciones.
Instalar las bibliotecas de cliente de Cloud
Las bibliotecas de cliente de Cloud para Python son bibliotecas de cliente para acceder a los servicios de Google Cloud que reducen significativamente el código repetitivo que tienes que escribir. La biblioteca proporciona abstracciones de API de alto nivel para que sean más fáciles de entender. Adopta expresiones idiomáticas de Python, funciona bien con la biblioteca estándar de Python y se integra mejor con tu base de código.
Por ejemplo, puedes instalar la biblioteca de cliente de Python correspondiente a Datastore o Cloud Storage para integrar esos servicios en tu aplicación.
Para instalar la biblioteca de cliente de Python para Cloud Datastore, sigue estos pasos:
Instala la biblioteca de cliente de forma local con
pip
:pip install google-cloud-datastore
Configura la autenticación. Puedes configurar las bibliotecas de cliente de Cloud para Python para que gestionen la autenticación automáticamente. La biblioteca de cliente puede gestionar automáticamente la autenticación de forma local mediante la CLI de Google Cloud.
gcloud auth login
Usa la referencia de las bibliotecas de cliente de Datastore para implementar la compatibilidad con el servicio Cloud Datastore en tu aplicación.
Para ver una lista completa de todas las bibliotecas de cliente de Cloud para Python de los servicios admitidos, consulta APIs & Python Libraries (APIs y bibliotecas de Python).Google Cloud