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:
Execute
pip install -t lib my_module
para copiar as dependências para uma pasta local com o nomelib
.Adicione um ficheiro
__init__.py
vazio ao diretóriolib
para o tornar um módulo.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
- Crie um
ambiente Python isolado:
python3 -m venv env
source env/bin/activate
- 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.
- Localize a sua instalação do PowerShell.
- Clique com o botão direito do rato no atalho para o PowerShell e inicie-o como administrador.
- Crie um
ambiente Python isolado.
python -m venv env
.\env\Scripts\activate
- 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:
Instale a biblioteca cliente localmente através do comando
pip
:pip install google-cloud-datastore
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
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