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 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.
| Campo | Tipo di modifica | Descrizione | 
|---|---|---|
| app_engine_apis | Applicabile solo a Python 3 | Deve essere impostato su truese vuoi accedere ai
      servizi in bundle legacy per Python 3. | 
| api_version application_readable builtins | Non più supportata | Non applicabile nel runtime di Python 3. | 
| threadsafe | Non più supportata | Si presume che tutte le applicazioni siano a prova di thread. Se la tua applicazione non è sicura per i thread, specifica un entrypointche configuri un thread per worker.Ad esempio, quando utilizzi la classe di istanze F4: entrypoint: gunicorn -b :$PORT -w 8 --threads 1 main:appConsulta le best practice per gli entry point per il numero consigliato di worker per ogni classe di istanze. | 
| librerie | Non più supportata | Utilizza il file requirements.txtper
      dichiarare le dipendenze
      e installare le librerie client. | 
| handlers: login | Supportato se app_engine_apisètrue | Se non utilizzi i servizi in bundle precedenti per Python 3, utilizza Identity and Access Management (IAM) per la gestione degli utenti. | 
| handlers: script | Modificato | Nel runtime di Python 2, utilizzi il scriptcampo 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  Per eseguire la migrazione del file  
 La gestione dei file statici rimane invariata. | 
Se utilizzi uno dei campi deprecati, App Engine restituisce un errore quando esegui il deployment dell'app.
Puoi utilizzare i seguenti esempi per confrontare le differenze tra i fileapp.yaml:
Python 2
runtime: python27 api_version: 1 threadsafe: true handlers: - url: / script: home.app - url: /index\.html script: home.app - url: /stylesheets static_dir: stylesheets - url: /(.*\.(gif|png|jpg))$ static_files: static/\1 upload: static/.*\.(gif|png|jpg)$ - url: /admin/.* script: admin.app login: admin - url: /.* script: not_found.app
Python 3
runtime: python313
app_engine_apis: true
handlers:
- url: /stylesheets
  static_dir: stylesheets
- url: /(.*\.(gif|png|jpg))$
  static_files: static/\1
  upload: static/.*\.(gif|png|jpg)$
- url: /admin/.*
  script: auto
  login: admin
Rimozione di appengine_config.py
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.