As dependências dos aplicativos Python são declaradas em um arquivo requirements.txt
. Exemplo:
Flask==MAJOR.MINOR.PATCH
google-cloud-storage
Substitua MAJOR, MINOR e PATCH pelos números de versão do Flask desejados.
Ao fazer a implantação no App Engine,
as dependências especificadas no arquivo requirements.txt
são instaladas
automaticamente com o aplicativo implantado. É possível usar qualquer pacote Python
compatível com Linux, incluindo pacotes que exijam extensões nativas (C).
Por padrão, o App Engine armazena em cache as dependências buscadas para reduzir o tempo de criação. Para instalar uma versão sem cache da dependência, use o comando:
gcloud app deploy --no-cache
Dependências particulares com o Artifact Registry
Se você precisar hospedar dependências privadas para o aplicativo Python, use um
repositório Python do Artifact Registry.
Ao implantar o aplicativo, o processo de compilação gera automaticamente credenciais do
Artifact Registry para a conta de serviço do Cloud Build.
Portanto, não será necessário gerar outras credenciais. Para incluir dependências particulares,
adicione o URL do Artifact Registry e os pacotes relevantes no
arquivo requirements.txt
.
Para especificar vários repositórios, use um repositório virtual do Artifact Registry para controlar com segurança a ordem de pesquisa do pip nos seus repositórios. Por exemplo:
--index-url REPOSITORY_URL
sampleproject
Flask==MAJOR.MINOR.PATCH
google-cloud-storage
Substitua REPOSITORY_URL pelo endereço do registro, como:
https://REGION_ID-python.pkg.dev/PROJECT_ID/REPOSITORY_NAME/simple
Dependências particulares com outros repositórios
As dependências são instaladas em um ambiente Cloud Build, que não fornece acesso a chaves SSH. Pacotes hospedados em repositórios que exigem autenticação baseada em SSH precisam ser copiados para o diretório do seu projeto e carregados junto com o código do seu projeto usando o gerenciador de pacotes pip.
Para usar dependências privadas:
Execute
pip install -t lib my_module
para copiar as dependências para uma pasta local chamadalib
.Adicione um arquivo
__init__.py
vazio ao diretóriolib
para transformá-lo em um módulo.Importe o módulo no seu app. Por exemplo:
import lib.my_module
Como instalar dependências localmente
Durante o desenvolvimento e o teste local do aplicativo, recomendamos que você use o
venv
para isolar as dependências do aplicativo dos pacotes do
sistema. Isso também garante que as dependências terão a mesma versão na máquina local e no aplicativo implantado.
Para usar o venv
na instalação de dependências, conclua as etapas a seguir:
Mac OS/Linux
- Crie um
ambiente Python isolado:
python3 -m venv env
source env/bin/activate
- Se você não estiver no diretório que contém o código de amostra, navegue
até o diretório que contém o código de amostra
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 pacotes Python.
- Localize a instalação do PowerShell.
- Clique com o botão direito do mouse no atalho do PowerShell e inicie-o como administrador.
- Crie um
ambiente Python isolado.
python -m venv env
.\env\Scripts\activate
- Acesse o diretório do projeto e instale as dependências: Se você não estiver no diretório
que contém o código de amostra, navegue até o diretório que contém o
código de amostra
hello_world
. Em seguida, instale as dependências:cd YOUR_SAMPLE_CODE_DIR
pip install -r requirements.txt
Isso garante que, ao executar o aplicativo localmente, apenas as dependências declaradas no arquivo requirements.txt
estejam disponíveis.
As dependências instaladas pelo App Engine durante a implantação são baseadas no
conteúdo do arquivo requirements.txt
, não no conteúdo do diretório
env/
.
Como instalar um framework da Web
Você precisará usar uma estrutura da Web para permitir que seu aplicativo disponibilize solicitações da Web. É possível usar qualquer biblioteca da Web do Python, inclusive estas:
Para usar um framework web específico, basta adicioná-lo a seu requirements.txt
:
Flask==MAJOR.MINOR.PATCH
Como instalar um servidor WSGI
Algumas bibliotecas da Web têm servidores WSGI integrados. Porém, poucos deles são indicados para disponibilizar o tráfego de produção. A maioria dos aplicativos da Web usa um servidor WSGI independente, como Gunicorn, uWSGI ou Waitress. Para mais informações sobre como instalar, configurar e usar um servidor WSGI, consulte inicialização do aplicativo.
Como instalar as bibliotecas de cliente do Cloud
As bibliotecas de cliente do Cloud para Python dão acesso a serviços do Google Cloud que reduz significativamente o código boilerplate que você precisa escrever. A biblioteca fornece abstrações detalhadas de APIs para facilitar a compreensão. Ela usa as expressões do Python, funciona bem com a biblioteca padrão e se integra melhor à sua base de código.
Por exemplo, é possível instalar a biblioteca de cliente correspondente do Python no Datastore ou Cloud Storage para integrar esses serviços ao app.
Para instalar a biblioteca de cliente do Python para o Cloud Datastore, faça o seguinte:
Instale a biblioteca de cliente localmente usando
pip
:pip install google-cloud-datastore
Configure a autenticação. É possível configurar as bibliotecas de cliente do Cloud para Python para processar autenticações automaticamente. A biblioteca de cliente gerencia autenticações automaticamente de modo local e também usando a Google Cloud CLI.
gcloud auth login
Use a referência das bibliotecas de cliente do Datastore para implementar o suporte ao serviço do Cloud Datastore no seu app.
Consulte uma lista completa de todas as bibliotecas de cliente do Cloud para Python para os serviços suportados do Google Cloud em APIs e bibliotecas do Python.