Buildpacks unterstützen die sprachspezifische Konfiguration über Umgebungsvariablen.
Python-Version angeben
Standardmäßig verwendet das Python-Laufzeit-Buildpack die aktuellste stabile Version des Python-Interpreters. Wenn Ihre Anwendung eine bestimmte Version erfordert, können Sie eine angeben. Dazu schließen Sie eine .python-version
-Datei in das Stammverzeichnis Ihrer Anwendung ein.
3.9.9
GOOGLE_PYTHON_VERSION
verwenden
Es ist auch möglich, die Python-Version über die Umgebungsvariable GOOGLE_PYTHON_VERSION
anzugeben.
Wenn beide Konfigurationen festgelegt sind, hat der GOOGLE_PYTHON_VERSION
-Wert Vorrang vor der .python-version
-Datei. Sind sowohl die .python-version
-Datei als auch die Umgebungsvariable GOOGLE_PYTHON_VERSION
nicht angegeben, wird standardmäßig die neueste LTS-Version von Python verwendet.
So konfigurieren Sie bei der Bereitstellung Ihrer Anwendung ein Buildpack zur Verwendung von Python 3.10:
pack build sample-python --builder=gcr.io/buildpacks/builder \
--env GOOGLE_PYTHON_VERSION="3.10.x"
Sie können auch den project.toml
-Projektdeskriptor verwenden, um die Umgebungsvariable zusammen mit den Projektdateien zu codieren. Eine Anleitung zum Erstellen der Anwendung mit Umgebungsvariablen
Abhängigkeiten mit pip angeben
Das Python-Buildpack unterstützt die Verwaltung von Anwendungsabhängigkeiten mithilfe von pip. Ihre Anwendungsabhängigkeiten sollten in einer requirements.txt
-Datei im Stammverzeichnis deklariert werden.
Die Datei requirements.txt
enthält eine Zeile pro Paket. Jede Zeile enthält den Paketnamen und optional die angeforderte Version. Weitere Informationen finden Sie in der Referenz zu requirements.txt
.
Hier sehen Sie eine requirements.txt
-Beispieldatei:
requests==2.20.0 numpy
PIP konfigurieren
Es ist möglich, das Verhalten von PIP über Umgebungsvariablen zu konfigurieren:
pack build sample-python --builder=gcr.io/buildpacks/builder \
--env PIP_DEFAULT_TIMEOUT='60'
Private Abhängigkeiten von Artifact Registry
Ein Artifact Registry-Python-Repository kann private Abhängigkeiten für Ihre Python-Funktion hosten. Beim Erstellen einer Anwendung in Cloud Build generiert das Python-Buildpack automatisch Artifact Registry-Anmeldedaten für das Cloud Build-Dienstkonto.
Sie müssen nur die Artifact Registry-URL in requirements.txt
aufnehmen, ohne zusätzliche Anmeldedaten zu generieren. Beispiele:
--extra-index-url REPOSITORY_URL
sampleapp
Flask==0.10.1
google-cloud-storage
Anwendungseinstiegspunkt
Das Python-Buildpack verwendet Gunicorn als Standard-WSGI-HTTP-Server für Ihre Arbeitslast. Anwendungen, die mit dem Python-Buildpack erstellt wurden, starten den gunicorn
-Prozess mit Standardeinstellungen, ähnlich wie beim Ausführen:
gunicorn --bind :8080 main:app
Anwendungseinstiegspunkt anpassen
Sie können die Standardwerte von Gunicorn und die Standardwerte des Einstiegspunkts überschreiben und den Startbefehl Ihrer Anwendung mithilfe einer Procfile
oder einer Umgebungsvariable anpassen.
Sie können eine Procfile
mit Ihren benutzerdefinierten Einstellungen im Stammverzeichnis erstellen.
Beispiel:
web: gunicorn --bind :$PORT --workers 1 --threads 8 --timeout 0 main:app
Alternativ können Sie die Umgebungsvariable GOOGLE_ENTRYPOINT
mit dem Befehl pack
verwenden. Beispiel:
pack build sample-python \
--builder gcr.io/buildpacks/builder
--env "GOOGLE_ENTRYPOINT='gunicorn --bind :$PORT main:app'"
Umgebungsvariablen
Das Python-Buildpack unterstützt folgende Umgebungsvariablen, um Ihren Container anzupassen
PIP_<key>
Weitere Informationen finden Sie in der PIP-Dokumentation.
Beispiel: PIP_DEFAULT_TIMEOUT=60
legt --default-timeout=60
für pip
-Befehle fest.