Como preparar arquivos de configuração para o ambiente de execução do Python 3
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Antes de executar o aplicativo no ambiente de execução do Python 3 do ambiente padrão do App Engine,
talvez seja necessário alterar alguns dos arquivos de configuração usados pelo App Engine:
app.yaml. Esse arquivo contém informações sobre o código do aplicativo, como o
ambiente de execução e os gerenciadores do aplicativo.
appengine_config.py. O ambiente de execução do Python 2 usa esse arquivo para acessar
bibliotecas de terceiros e fornecer valores para constantes e "funções hook".
Esse arquivo não é usado no ambiente de execução do Python 3.
Atualizando app.yaml
O comportamento de alguns campos no arquivo de
configuração app.yaml foi
modificado. Remova todos os campos que não são mais compatíveis e atualize outros
campos conforme descrito na tabela a seguir.
Não aplicável no ambiente de execução do Python 3.
threadsafe
Não é mais compatível
Todas os aplicativos são presumidos como threadsafe. Se o app não for seguro para linhas de execução, especifique um entrypoint configurando uma linha de execução por worker.
Por exemplo, ao usar a classe de instância F4: entrypoint: gunicorn -b :$PORT -w 8 --threads 1 main:app
No ambiente de execução do Python 2, use o campo
script
para rotear as solicitações recebidas para o script do aplicativo.
No ambiente de execução do Python 3, é necessário usar um framework da Web com
roteamento no aplicativo (como Flask ou Django) em vez de usar o
campo script.
Para migrar o arquivo app.yaml para o ambiente de execução do Python 3,
execute uma das seguintes ações, dependendo se o arquivo contém
gerenciadores estáticos
e gerenciadores de script:
Se o arquivo app.yaml contiver gerenciadores estáticos, execute uma das ações
a seguir para garantir que as solicitações de conteúdo dinâmico sejam
roteadas para o script do aplicativo:
Remova todos os campos de script. Em seguida, adicione um campo
entrypoint
para iniciar um servidor da Web que executa o aplicativo. As solicitações que não
correspondem a nenhum dos gerenciadores estáticos serão direcionadas ao servidor da Web
especificado no campo entrypoint. O servidor da Web
e o framework da Web do aplicativo são responsáveis pelo roteamento da solicitação
para o script correto.
Substitua o valor de todos os campos script por
auto. O App Engine executará automaticamente o
aplicativo em um servidor da Web (supondo que o aplicativo atenda
a alguns requisitos),
e todas as solicitações que correspondem a um gerenciador de script serão direcionadas ao
servidor da Web. O servidor da Web e o framework da Web do aplicativo são
responsáveis pelo roteamento da solicitação para o script correto.
Se seu arquivo app.yamlnão contiver gerenciadores estáticos,
remova todos os campos script. Todas as solicitações para o
aplicativo serão direcionadas ao respectivo servidor da Web e o framework do
aplicativo roteará a solicitação para o script correto. Se preferir, é possível
adicionar um campo
entrypoint
para personalizar o
comportamento de inicialização padrão.
Se app.yaml tiver os dois tipos de gerenciador, ainda será
possível remover todos os gerenciadores de script que seriam marcados como
auto, deixando para trás os gerenciadores estáticos e também
gerenciadores auto que exigem outras diretivas, como o
gerenciador exclusivo para administradores no exemplo abaixo.
O ambiente de execução do Python 2 no ambiente padrão do App Engine usa o
arquivo
appengine_config.py.
Esse arquivo é ignorado no ambiente de execução do Python 3. Em vez disso, o ambiente de execução do Python 3
usa o arquivo requirements.txt padrão para
instalar dependências,
incluindo dependências que usam código nativo.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-03-06 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."]]],[]]