Preparazione dei file di configurazione per il runtime Python 3
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Prima di poter eseguire l'app nel runtime Python 3 dell'ambiente standard di App Engine, potresti dover modificare alcuni dei file di configurazione utilizzati da App Engine:
app.yaml. Questo file contiene informazioni sul codice dell'app, come il runtime e i gestori dell'app.
appengine_config.py. Il runtime di Python 2 utilizza questo file per accedere alle librerie di terze parti e fornire valori per costanti e "funzioni di hook".
Il runtime di Python 3 non utilizza questo file.
Aggiornamento di app.yaml in corso…
Il comportamento di alcuni campi nel
app.yaml file di configurazione
è stato modificato. Rimuovi i campi non più supportati e aggiorna gli altri campi come descritto nella tabella seguente.
Si presume che tutte le applicazioni siano a prova di thread. Se la tua applicazione non è sicura per i thread, specifica un entrypoint che configuri un thread per worker.
Ad esempio, quando utilizzi la classe di istanze F4: entrypoint: gunicorn -b :$PORT -w 8 --threads 1 main:app
Nel runtime Python 2, utilizzi il
script
campo per inoltrare le richieste in arrivo allo script della tua app.
Nel runtime di Python 3, devi utilizzare un framework web con routing in-app (ad esempio Flask o Django) anziché il campo script.
Per eseguire la migrazione del file app.yaml al runtime di Python 3, esegui una delle seguenti operazioni, a seconda che il file contenga gestori statici e gestori di script:
Se il file app.yaml contiene gestori statici, esegui una delle seguenti operazioni per assicurarti che le richieste di contenuti dinamici vengano indirizzate allo script della tua app:
Rimuovi tutti i campi script. Aggiungi poi un
campo entrypoint
per avviare un server web che esegue la tua app. Le richieste che non
corrispondono a nessuno dei tuoi gestori statici verranno indirizzate al server web
specificato nel campo entrypoint. Il server web
e il framework web della tua app sono responsabili dell'inoltro della richiesta
allo script corretto.
Sostituisci il valore di tutti i campi script con
auto. App Engine eseguirà automaticamente la tua app su un web server (supponendo che soddisfi alcuni requisiti) e tutte le richieste corrispondenti a un gestore di script verranno indirizzate al web server. Il server web e il framework web della tua app sono responsabili dell'indirizzamento della richiesta allo script corretto.
Se il file app.yamlnon contiene gestori statici, rimuovi tutti i campi script. Tutte le richieste alla tua app verranno indirizzate al server web dell'app e il framework dell'app indirizzerà la richiesta allo script corretto. Se vuoi, puoi aggiungere un campo entrypoint per personalizzare il comportamento di avvio predefinito.
Se il tuo app.yaml ha entrambi i tipi di gestori, puoi
comunque rimuovere tutti i gestori di script che verrebbero contrassegnati
auto, lasciando i gestori statici e i gestori
auto che richiedono altre direttive, come il
gestore solo per amministratori nell'esempio riportato di seguito.
Il runtime di Python 2 nell'ambiente standard di App Engine utilizza il
appengine_config.py
file.
Questo file viene ignorato nel runtime di Python 3. Il runtime Python 3 utilizza invece il file requirements.txt standard per installare le dipendenze, incluse quelle che utilizzano codice nativo.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Difficile da capire","hardToUnderstand","thumb-down"],["Informazioni o codice di esempio errati","incorrectInformationOrSampleCode","thumb-down"],["Mancano le informazioni o gli esempi di cui ho bisogno","missingTheInformationSamplesINeed","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-03-26 UTC."],[[["The Python 3 runtime on App Engine standard environment requires updates to the `app.yaml` file, while the `appengine_config.py` file is no longer used."],["Several fields in the `app.yaml` file are no longer supported in Python 3, including `api_version`, `application_readable`, `builtins`, `threadsafe`, and `libraries`, each having different changes in requirements or methodology."],["If using the legacy bundled services, the `app_engine_apis` field in `app.yaml` must be set to `true`, and it enables the use of `handlers: login`; otherwise, Identity and Access Management (IAM) should be used."],["In Python 3, the `script` field in `app.yaml` handlers is replaced by in-app routing using a web framework like Flask or Django, and the `entrypoint` field is used to start the web server, which will handle the routing."],["In the Python 3 runtime, dependencies are installed using the standard `requirements.txt` file instead of the `appengine_config.py` file used in Python 2, meaning the latter file can be removed."]]],[]]