Há duas maneiras de especificar dependências para o Cloud Functions gravadas no Python: com o uso do arquivo requirements.txt
do gerenciador de pacotes pip ou o com o empacotamento de dependências locais com a função.
A especificação de dependência que usa o padrão Pipfile/Pipfile.lock não é compatível. Seu projeto não deve incluir esses arquivos.
Como especificar dependências com pip
Dependências no Python são gerenciadas com pip e expressas em um arquivo de metadados chamado requirements.txt
.
O arquivo precisa estar no mesmo diretório que o arquivo main.py
que contém o código da função.
Quando você implanta sua função, o Cloud Functions faz o download e instala as dependências declaradas no arquivo requirements.txt
usando pip.
O arquivo requirements.txt
contém uma linha por pacote. Cada linha contém o nome do pacote e, como opção, a versão solicitada. Para mais detalhes, consulte a referência do requirements.txt
.
A seguir, um exemplo de arquivo requirements.txt
:
requests==2.20.0 numpy
Como empacotar dependências locais
Também é possível empacotar e implantar dependências junto com sua função. Essa abordagem é útil se sua dependência não estiver disponível por meio do gerenciador de pacotes pip ou se o acesso à Internet do ambiente do Cloud Functions for restrito.
Por exemplo, é possível usar uma estrutura de diretório como a seguinte:
myfunction/ ├── main.py └── localpackage/ ├── __init__.py └── script.py
Você pode importar o código normalmente de localpackage
usando a seguinte instrução import
.
# Code in main.py from localpackage import script
Observe que essa abordagem não executará nenhum arquivo setup.py
. Pacotes com esses arquivos ainda podem ser agrupados, mas podem não ser executados corretamente no Cloud Functions.