Istnieją dwa sposoby określania zależności dla funkcji Cloud Functions napisanych w języku Python: przy użyciu pliku requirements.txt
menedżera pakietów pip lub pakując lokalne zależności wraz z funkcją.
Specyfikacja zależności wykorzystująca standard Pipfile/Pipfile.lock nie jest obsługiwana. Twój projekt nie powinien zawierać tych plików.
Określanie zależności za pomocą pip
Zależnościami w Pythonie zarządza się za pomocą pip i wyraża je w pliku metadanych o nazwie requirements.txt
. Ten plik musi znajdować się w tym samym katalogu, co plik main.py
zawierający kod funkcji.
Po wdrożeniu funkcji Cloud Functions pobiera i instaluje zależności zadeklarowane w pliku requirements.txt
za pomocą pip.
Plik requirements.txt
zawiera jeden wiersz na pakiet. Każda linia zawiera nazwę pakietu i opcjonalnie żądaną wersję. Aby uzyskać więcej informacji, zobacz dokumentację pliku requirements.txt
.
Poniżej znajduje się przykładowy plik requirements.txt
:
requests==2.20.0 numpy
Pakowanie zależności lokalnych
Możesz także pakować i wdrażać zależności wraz ze swoją funkcją. To podejście jest przydatne, jeśli Twoja zależność nie jest dostępna za pośrednictwem menedżera pakietów pip lub jeśli dostęp do Internetu w środowisku Cloud Functions jest ograniczony.
Można na przykład użyć następującej struktury katalogów:
myfunction/ ├── main.py └── localpackage/ ├── __init__.py └── script.py
Następnie możesz zaimportować kod w zwykły sposób z localpackage
, używając poniższej instrukcji import
.
# Code in main.py from localpackage import script
Pamiętaj, że to podejście nie spowoduje uruchomienia żadnych plików setup.py
. Pakiety zawierające te pliki nadal można łączyć w pakiety, ale mogą nie działać poprawnie w Cloud Functions.