Specifica delle dipendenze

Le dipendenze per le applicazioni Python vengono dichiarate in un file requirements.txt standard. Ad esempio:

Flask==MAJOR.MINOR.PATCH
google-cloud-storage

Sostituisci MAJOR, MINOR e PATCH con i numeri di versione di Flask desiderati.

Quando esegui il deployment in App Engine, le dipendenze specificate nel file requirements.txt verranno installate automaticamente con l'app di cui hai eseguito il deployment. Puoi utilizzare qualsiasi pacchetto Python compatibile con Linux, inclusi i pacchetti che richiedono estensioni C native.

Per impostazione predefinita, App Engine memorizza nella cache le dipendenze recuperate per ridurre i tempi di build. Per installare una versione della dipendenza non memorizzata nella cache, utilizza il comando:

gcloud app deploy --no-cache

Dipendenze private con Artifact Registry

Se devi ospitare dipendenze private per la tua app Python, puoi utilizzare un repository Python di Artifact Registry. Quando esegui il deployment della tua app, il processo di compilazione genera automaticamente le credenziali Artifact Registry per l'account di servizio Cloud Build, quindi non dovrai generare ulteriori credenziali. Per includere le dipendenze private, aggiungi l'URL Artifact Registry e i pacchetti pertinenti nel tuo file requirements.txt.

Per specificare più repository, utilizza un repository virtuale di Artifact Registry per controllare in modo sicuro l'ordine con cui pip cerca nei repository. Ad esempio:

--index-url REPOSITORY_URL
sampleproject
Flask==MAJOR.MINOR.PATCH
google-cloud-storage

Sostituisci REPOSITORY_URL con l'indirizzo del Registro di sistema, ad esempio:

https://REGION_ID-python.pkg.dev/PROJECT_ID/REPOSITORY_NAME/simple

Dipendenze private con altri repository

Le dipendenze vengono installate in un ambiente Cloud Build che non fornisce l'accesso alle chiavi SSH. I pacchetti ospitati in repository che richiedono l'autenticazione basata su SSH devono essere copiati nella directory del progetto e caricati insieme al codice del progetto utilizzando il gestore di pacchetti pip.

Per utilizzare le dipendenze private:

  1. Esegui pip install -t lib my_module per copiare le dipendenze in una cartella locale denominata lib.

  2. Aggiungi un file __init__.py vuoto alla directory lib per trasformarlo in un modulo.

  3. Importa il modulo nella tua app. Ad esempio:

    import lib.my_module
    

Installazione delle dipendenze in locale

Per lo sviluppo e il test della tua applicazione in locale, consigliamo di utilizzare venv per isolare le dipendenze dell'applicazione dai pacchetti di sistema. In questo modo, inoltre, le dipendenze saranno la stessa versione sulla macchina locale e su quella dell'applicazione di cui è stato eseguito il deployment.

Per utilizzare venv per installare le dipendenze, completa i seguenti passaggi:

Mac OS / Linux

  1. Crea un ambiente Python isolato:
    python3 -m venv env
    source env/bin/activate
  2. Se non ti trovi nella directory che contiene il codice campione, vai alla directory che contiene il codice campione hello_world. Quindi installa le dipendenze:
    cd YOUR_SAMPLE_CODE_DIR
    pip install -r requirements.txt

Windows

Utilizza PowerShell per eseguire i tuoi pacchetti Python.

  1. Individua l'installazione di PowerShell.
  2. Fai clic con il tasto destro del mouse sul collegamento a PowerShell e avvialo come amministratore.
  3. Crea un ambiente Python isolato.
    python -m venv env
    .\env\Scripts\activate
  4. Naviga alla directory del progetto e installa le dipendenze. Se non ti trovi nella directory che contiene il codice campione, vai a quella che contiene il codice campione hello_world. Quindi, installa le dipendenze:
    cd YOUR_SAMPLE_CODE_DIR
    pip install -r requirements.txt

In questo modo, quando esegui la tua app localmente, siano disponibili solo le dipendenze dichiarate nel file requirements.txt. Le dipendenze installate da App Engine durante il deployment si basano sui contenuti del file requirements.txt, non sui contenuti della directory env/.

Installazione di un framework web

Dovrai usare un framework web per consentire alla tua app di gestire le richieste web. Puoi utilizzare qualsiasi framework web Python, tra cui:

Per utilizzare un determinato framework web, basta aggiungerlo a requirements.txt:

Flask==MAJOR.MINOR.PATCH

Installazione di un server WSGI

Alcuni framework web dispongono di server WSGI integrati, ma alcuni sono adatti a gestire il traffico di produzione. La maggior parte delle applicazioni web utilizza un server WSGI autonomo come Gunicorn, uWSGI o waitress. Per ulteriori informazioni sull'installazione, sulla configurazione e sull'utilizzo di un server WSGI, consulta la pagina relativa all'avvio dell'applicazione.

Installazione delle librerie client di Cloud

Le librerie client di Cloud per Python sono una libreria client per l'accesso ai servizi Google Cloud che riduce in modo significativo il codice boilerplate da scrivere. Questa libreria fornisce astrazioni API di alto livello, che sono più facili da capire. Supporta le espressioni idiomatiche di Python, funziona bene con la libreria Python standard e si integra meglio con il tuo codebase.

Ad esempio, puoi installare la libreria client Python corrispondente per Datastore o Cloud Storage per integrare questi servizi con la tua app.

Per installare la libreria client Python per Cloud Datastore:

  1. Installa la libreria client in locale utilizzando pip:

    pip install google-cloud-datastore

  2. Configurare l'autenticazione. Puoi configurare le librerie client di Cloud per Python in modo che gestisca automaticamente l'autenticazione. La libreria client può gestire automaticamente l'autenticazione per te anche localmente utilizzando Google Cloud CLI.

    gcloud auth login
    
  3. Utilizza il riferimento sulle librerie client di Datastore per implementare il supporto per il servizio Cloud Datastore nella tua app.

Per un elenco completo di tutte le librerie client di Cloud per Python per i servizi Google Cloud supportati, consulta API e librerie Python.