Specifica delle dipendenze

Le dipendenze per le applicazioni Python sono dichiarate in un requirements.txt . Ad esempio:

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

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

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

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

gcloud app deploy --no-cache

Dipendenze private con Artifact Registry

Se hai bisogno di ospitare dipendenze private per la tua app Python, puoi utilizzare un Repository Python di Artifact Registry. Durante il deployment dell'app, il processo di compilazione genera automaticamente Artifact Registry Credenziali per l'account di servizio Cloud Build senza bisogno di generare altre credenziali. Per includere le dipendenze private, aggiungi l'URL di Artifact Registry e i pacchetti pertinenti nel file requirements.txt.

Per specificare più repository, utilizza un repository virtuale Artifact Registry per controllare in modo sicuro l'ordine in cui pip cerca nei tuoi 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 che forniscono l'accesso alle chiavi SSH. Pacchetti ospitati su repository che richiedono L'autenticazione basata su SSH deve essere copiata nella directory del progetto e caricata insieme al codice del progetto, utilizzando gestore di pacchetti pip.

Per utilizzare le dipendenze private:

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

  2. Aggiungi un file __init__.py vuoto alla directory lib per renderlo un in maggior dettaglio più avanti in questo modulo.

  3. Importa il modulo nell'app. Ad esempio:

    import lib.my_module
    

Installazione delle dipendenze in locale

Quando sviluppi e testi l'applicazione localmente, ti consigliamo di utilizzare venv per isolare le dipendenze dell'applicazione dai pacchetti di sistema. Ciò garantisce anche che le dipendenze abbiano la stessa versione della macchina locale e dell'applicazione di cui è stato eseguito il deployment.

Per utilizzare venv per installare le dipendenze, completa quanto segue 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 dependencies:
    cd YOUR_SAMPLE_CODE_DIR
    pip install -r requirements.txt

Windows

Utilizza PowerShell per eseguire i pacchetti Python.

  1. Individua la tua installazione di PowerShell.
  2. Fai clic con il tasto destro del mouse sulla scorciatoia a PowerShell e avviala 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 di esempio, vai alla directory che contiene il codice di esempio hello_world. Quindi, installa le dipendenze:
    cd YOUR_SAMPLE_CODE_DIR
    pip install -r requirements.txt

In questo modo ti assicuri che, quando esegui l'app in locale, solo sono disponibili le dipendenze dichiarate nel file requirements.txt. Le dipendenze installate da App Engine durante il deployment si basano i contenuti del file requirements.txt, non i contenuti dei file env/ .

Installazione di un framework web

Dovrai utilizzare un framework web per consentire alla tua app di gestire le richieste web. Puoi utilizzare qualsiasi framework web Python, incluso quanto segue:

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

Flask==MAJOR.MINOR.PATCH

Installazione di un server WSGI

Alcuni framework web hanno server WSGI integrati; tuttavia, alcuni sono adatte a gestire traffico di produzione. La maggior parte delle applicazioni web utilizza un modello Server WSGI come Gunicorn uWSGI oppure Cameriere. Per ulteriori informazioni sull'installazione, la configurazione e l'utilizzo di un server WSGI, vedi l'avvio dell'applicazione.

Installazione delle librerie client di Cloud

Le librerie client di Cloud per Python sono una libreria client per accedere ai servizi Google Cloud che riduce notevolmente il codice boilerplate da scrivere. La libreria fornisce astrazioni API di alto livello in modo che siano più facili da comprendere. Adotta le espressioni idiomatiche di Python, funziona bene con la libreria Python standard e si integra meglio con il tuo codice di base.

Ad esempio, puoi installare la libreria client Python corrispondente per Datastore o Cloud Storage per integrarli 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 per gestire automaticamente l'autenticazione. La libreria client può gestire automaticamente l'autenticazione localmente bene 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.