Les packs de création acceptent la configuration idiomatique du langage via des variables d'environnement.
Spécifier la version de Python
Par défaut, le buildpack d'exécution Python utilise la dernière version stable de l'interpréteur Python. Si votre application nécessite une version spécifique, vous pouvez en spécifier une en incluant un fichier .python-version
dans le répertoire racine de l'application.
3.9.9
Utiliser GOOGLE_PYTHON_VERSION
Il est également possible de spécifier la version de Python via la variable d'environnement GOOGLE_PYTHON_VERSION
.
Si les deux configurations sont définies, la valeur GOOGLE_PYTHON_VERSION
est prioritaire sur le fichier .python-version
. Par défaut, lorsque le fichier .python-version
et la variable d'environnement GOOGLE_PYTHON_VERSION
ne sont pas spécifiés, la dernière version LTS de Python est utilisée.
Pour configurer le buildpack afin d'utiliser Python 3.10 lors du déploiement de votre application, procédez comme suit:
pack build sample-python --builder=gcr.io/buildpacks/builder \
--env GOOGLE_PYTHON_VERSION="3.10.x"
Vous pouvez également utiliser un descripteur de projet project.toml
pour encoder la variable d'environnement avec vos fichiers de projet. Consultez les instructions de la section Créer l'application avec des variables d'environnement.
Spécifier des dépendances avec pip
Le buildpack Python permet de gérer les dépendances d'application à l'aide de pip. Les dépendances de votre application doivent être déclarées dans un fichier requirements.txt
du répertoire racine.
Le fichier requirements.txt
contient une ligne par package. Chaque ligne contient le nom du package et, éventuellement, la version demandée. Pour en savoir plus, consultez la documentation de référence sur requirements.txt
.
Voici un exemple de fichier requirements.txt
:
requests==2.20.0 numpy
Configurer pip
Il est possible de configurer le comportement de pip à l'aide de variables d'environnement :
pack build sample-python --builder=gcr.io/buildpacks/builder \
--env PIP_DEFAULT_TIMEOUT='60'
Dépendances privées d'Artifact Registry
Un dépôt Python Artifact Registry peut héberger des dépendances privées pour votre fonction Python. Lors de la création d'une application sur Cloud Build, le buildpack Python génère automatiquement des identifiants Artifact Registry pour le compte de service Cloud Build.
Il vous suffit d'inclure l'URL Artifact Registry dans votre fichier requirements.txt
sans générer d'identifiants supplémentaires. Exemple :
--extra-index-url REPOSITORY_URL
sampleapp
Flask==0.10.1
google-cloud-storage
Point d'entrée de l'application
Le buildpack Python utilise Gunicorn comme serveur HTTP WSGI par défaut pour votre charge de travail. Les applications créées avec le buildpack Python lancent le processus gunicorn
avec des paramètres par défaut, semblables à ceux de l'exécution:
gunicorn --bind :8080 main:app
Personnaliser le point d'entrée de l'application
Vous pouvez remplacer les valeurs par défaut et personnaliser la commande de démarrage de votre application à l'aide d'un Procfile
ou d'une variable d'environnement.
Vous pouvez créer un fichier Procfile
avec vos paramètres personnalisés dans le répertoire racine.
Exemple :
web: gunicorn --bind :$PORT --workers 1 --threads 8 --timeout 0 main:app
Vous pouvez également utiliser la variable d'environnement GOOGLE_ENTRYPOINT
avec la commande pack
. Exemple :
pack build sample-python \
--builder gcr.io/buildpacks/builder
--env "GOOGLE_ENTRYPOINT='gunicorn --bind :$PORT main:app'"
Variables d'environnement
Le buildpack Python accepte les variables d'environnement suivantes pour personnaliser votre conteneur
PIP_<key>
Consultez la documentation PIP.
Exemple: PIP_DEFAULT_TIMEOUT=60
définit --default-timeout=60
pour les commandes pip
.