Especificar dependências

As dependências das aplicações Python são declaradas num ficheiro requirements.txt padrão. Por exemplo:

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

Substitua MAJOR, MINOR e PATCH pelos números de versão do Flask desejados.

Quando implementa no App Engine, as dependências especificadas no ficheiro requirements.txt são instaladas automaticamente com a app implementada. Pode usar qualquer pacote Python compatível com Linux, incluindo pacotes que requerem extensões C nativas.

Por predefinição, o App Engine armazena em cache as dependências obtidas para reduzir os tempos de compilação. Para instalar uma versão não colocada em cache da dependência, use o comando:

gcloud app deploy --no-cache

Dependências privadas com o Artifact Registry

Se precisar de alojar dependências privadas para a sua app Python, pode usar um repositório Python do Artifact Registry. Quando implementa a sua app, o processo de compilação gera automaticamente credenciais do Artifact Registry para a conta de serviço do Cloud Build, pelo que não precisa de gerar credenciais adicionais. Para incluir dependências privadas, adicione o URL do Artifact Registry e os pacotes relevantes no seu ficheiro requirements.txt.

Para especificar vários repositórios, use um repositório virtual do Artifact Registry para controlar com segurança a ordem pela qual o pip pesquisa os seus repositórios. Por exemplo:

--index-url REPOSITORY_URL
sampleproject
Flask==MAJOR.MINOR.PATCH
google-cloud-storage

Substitua REPOSITORY_URL pela morada de registo, como:

https://REGION_ID-python.pkg.dev/PROJECT_ID/REPOSITORY_NAME/simple

Dependências privadas com outros repositórios

As dependências são instaladas num ambiente do Cloud Build que não fornece acesso a chaves SSH. Os pacotes alojados em repositórios que requerem autenticação baseada em SSH têm de ser copiados para o diretório do projeto e carregados juntamente com o código do projeto através do gestor de pacotes pip.

Para usar dependências privadas:

  1. Execute pip install -t lib my_module para copiar as dependências para uma pasta local com o nome lib.

  2. Adicione um ficheiro __init__.py vazio ao diretório lib para o tornar um módulo.

  3. Importe o módulo na sua app. Por exemplo:

    import lib.my_module
    

Instalar dependências localmente

Quando desenvolver e testar a sua aplicação localmente, recomendamos que use o venv para isolar as dependências da sua aplicação dos pacotes do sistema. Isto também garante que as suas dependências têm a mesma versão na sua máquina local e na aplicação implementada.

Para usar o venv para instalar dependências, conclua os seguintes passos:

Mac OS / Linux

  1. Crie um ambiente Python isolado:
    python3 -m venv env
    source env/bin/activate
  2. Se não estiver no diretório que contém o código de exemplo, navegue para o diretório que contém o código de exemplo hello_world. Em seguida, instale as dependências:
    cd YOUR_SAMPLE_CODE_DIR
    pip install -r requirements.txt

Windows

Use o PowerShell para executar os seus pacotes Python.

  1. Localize a sua instalação do PowerShell.
  2. Clique com o botão direito do rato no atalho para o PowerShell e inicie-o como administrador.
  3. Crie um ambiente Python isolado.
    python -m venv env
    .\env\Scripts\activate
  4. Navegue para o diretório do projeto e instale as dependências. Se não estiver no diretório que contém o código de exemplo, navegue para o diretório que contém o hello_world código de exemplo. Em seguida, instale as dependências:
    cd YOUR_SAMPLE_CODE_DIR
    pip install -r requirements.txt

Isto garante que, quando executa a sua app localmente, apenas as dependências declaradas no ficheiro requirements.txt estão disponíveis. As dependências instaladas pelo App Engine durante a implementação baseiam-se no conteúdo do ficheiro requirements.txt e não no conteúdo do diretório env/.

Instalar uma framework Web

Tem de usar uma framework Web para permitir que a sua app publique pedidos Web. Pode usar qualquer framework Web Python, incluindo o seguinte:

Para usar uma framework Web específica, basta adicioná-la ao seu requirements.txt:

Flask==MAJOR.MINOR.PATCH

Instalar um servidor WSGI

Algumas frameworks Web têm servidores WSGI incorporados. No entanto, poucas são adequadas para publicar tráfego de produção. A maioria das aplicações Web usa um servidor WSGI autónomo, como o Gunicorn, uWSGI ou o Waitress. Para mais informações sobre a instalação, a configuração e a utilização de um servidor WSGI, consulte o artigo Arranque da aplicação.

Instalar as bibliotecas de cliente da Google Cloud

As bibliotecas cliente da Google Cloud para Python são bibliotecas cliente para aceder a serviços que reduzem significativamente o código repetitivo que tem de escrever. Google Cloud A biblioteca fornece abstrações de API de alto nível para que sejam mais fáceis de compreender. Adota expressões idiomáticas do Python, funciona bem com a biblioteca Python padrão e integra-se melhor com a sua base de código.

Por exemplo, pode instalar a biblioteca cliente Python correspondente para o Datastore ou o Cloud Storage para integrar esses serviços com a sua app.

Para instalar a biblioteca cliente Python para o Cloud Datastore:

  1. Instale a biblioteca cliente localmente através do comando pip:

    pip install google-cloud-datastore

  2. Configurar autenticação. Pode configurar as bibliotecas cliente da Google Cloud para Python de modo a processarem a autenticação automaticamente. A biblioteca de cliente também pode processar automaticamente a autenticação localmente através da Google Cloud CLI.

    gcloud auth login
    
  3. Use a referência das bibliotecas cliente do Datastore para implementar suporte para o serviço Cloud Datastore na sua app.

Para ver uma lista completa de todas as bibliotecas cliente da Google Cloud para Python para os serviços suportados, consulte APIs e bibliotecas Python.Google Cloud