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 numeri di versione di Flask che preferisci.
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 le credenziali di Artifact Registry per l'account di servizio Cloud Build, quindi non è necessario generare credenziali aggiuntive. Per includere le dipendenze private,
aggiungi l'URL di Artifact Registry e i pacchetti pertinenti in 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. 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 dei pacchetti pip.
Per utilizzare le dipendenze private:
Esegui
pip install -t lib my_module
per copiare delle dipendenze in una cartella locale denominatalib
.Aggiungi un file
__init__.py
vuoto alla directorylib
per renderlo un in maggior dettaglio più avanti in questo modulo.Importa il modulo nell'app. Ad esempio:
import lib.my_module
Installazione delle dipendenze a livello locale
Quando sviluppi e testi l'applicazione localmente, ti consigliamo di utilizzare
venv
per isolare le dipendenze dell'applicazione dai pacchetti
di sistema. In questo modo, avrai anche la certezza che le dipendenze siano della stessa versione sulla tua macchina locale e nell'applicazione di cui è stato eseguito il deployment.
Per utilizzare venv
per installare le dipendenze, completa quanto segue
passaggi:
Mac OS / Linux
- Crea un
ambiente Python isolato:
python3 -m venv env
source env/bin/activate
- Se non ti trovi nella directory che contiene il codice campione, vai
alla directory che contiene il codice campione
hello_world
. Poi installa le dipendenze:cd YOUR_SAMPLE_CODE_DIR
pip install -r requirements.txt
Windows
Utilizza le funzionalità di PowerShell per eseguire i pacchetti Python.
- Individua l'installazione di PowerShell.
- Fai clic con il tasto destro del mouse sulla scorciatoia a PowerShell e avviala come amministratore.
- Crea un
ambiente Python isolato.
python -m venv env
.\env\Scripts\activate
- Naviga alla directory del progetto e installa le dipendenze. Se non sei nella directory
che contiene il codice campione, passa alla directory che contiene
Codice campione
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 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, aggiungilo a requirements.txt
:
Flask==MAJOR.MINOR.PATCH
Installazione di un server WSGI
Alcuni framework web hanno server WSGI integrati; tuttavia, pochi di questi sono adatti per la pubblicazione del traffico di produzione. La maggior parte delle applicazioni web utilizza un server WSGI autonomo come Gunicorn, uWSGI o Waitress. Per ulteriori informazioni sull'installazione, la configurazione e l'utilizzo di un server WSGI, vedi l'avvio dell'applicazione.
Installazione delle librerie client Cloud
Le librerie client di Cloud per Python sono una libreria client accesso ai servizi Google Cloud che riducono notevolmente il boilerplate il codice che devi scrivere. La libreria fornisce astrazioni API di alto livello in modo che siano più facili da comprendere. Utilizza le espressioni idiomatiche di Python e funziona bene con 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:
Installa la libreria client localmente utilizzando
pip
:pip install google-cloud-datastore
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 anche localmente utilizzando Google Cloud CLI.
gcloud auth login
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.