Umgang mit Abhängigkeiten


Es gibt zwei Möglichkeiten, Abhängigkeiten für in Python geschriebene Cloud-Funktionen anzugeben: Verwenden Sie die Datei requirements.txt des Pip- Paketmanagers oder packen Sie lokale Abhängigkeiten zusammen mit Ihrer Funktion.

Die Abhängigkeitsspezifikation mithilfe des Pipfile/Pipfile.lock-Standards wird nicht unterstützt. Ihr Projekt sollte diese Dateien nicht enthalten.

Abhängigkeiten mit pip angeben

Abhängigkeiten in Python werden mit pip verwaltet und in einer Metadatendatei namens requirements.txt ausgedrückt. Diese Datei muss sich im selben Verzeichnis befinden wie die Datei main.py , die Ihren Funktionscode enthält.

Wenn Sie Ihre Funktion bereitstellen, lädt Cloud Functions mithilfe von pip die in der Datei requirements.txt deklarierten Abhängigkeiten herunter und installiert sie.

Die Datei requirements.txt enthält eine Zeile pro Paket. Jede Zeile enthält den Paketnamen und optional die angeforderte Version. Weitere Einzelheiten finden Sie in der requirements.txt Referenz .

Das Folgende ist eine Beispieldatei requirements.txt :

requests==2.20.0
numpy

Lokale Abhängigkeiten packen

Sie können neben Ihrer Funktion auch Abhängigkeiten packen und bereitstellen. Dieser Ansatz ist nützlich, wenn Ihre Abhängigkeit nicht über den Pip-Paketmanager verfügbar ist oder der Internetzugang Ihrer Cloud Functions-Umgebung eingeschränkt ist.

Sie könnten beispielsweise eine Verzeichnisstruktur wie die folgende verwenden:

myfunction/
├── main.py
└── localpackage/
    ├── __init__.py
    └── script.py

Anschließend können Sie den Code wie gewohnt mit der folgenden import aus localpackage importieren.

# Code in main.py
from localpackage import script

Beachten Sie, dass bei diesem Ansatz keine setup.py Dateien ausgeführt werden. Pakete mit diesen Dateien können weiterhin gebündelt werden, werden jedoch möglicherweise nicht ordnungsgemäß auf Cloud Functions ausgeführt.