Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Cette page explique comment résoudre les conflits de dépendance lors de l'installation de packages PyPI personnalisés.
Le problème le plus courant que vous pouvez rencontrer avec les packages PyPI dans Cloud Composer est le conflit de dépendance.
Lorsque vous spécifiez un nouveau package PyPI personnalisé à installer, ce package ou sa version peuvent provoquer des conflits de dépendance avec d'autres packages PyPI personnalisés ou des packages préinstallés dans votre environnement. Dans ce cas, l'opération de mise à jour de l'environnement échoue et renvoie une erreur.
Erreurs Cloud Build et de compilation dans le cluster
Si un problème survient au niveau des packages, vous recevez le message d'erreur de deux manières, selon la manière dont votre environnement est déployé :
Cloud Build. Un message d'erreur et un lien vers le journal Cloud Build Exemple :
UPDATE operation on this environment failed 25 minutes ago with the following error message: Failed to install PyPI packages. Check the Cloud Build log at ...
Compilations au sein du cluster. Message d'erreur et emplacement des journaux de compilation. Exemple :
UPDATE operation on this environment failed 17 minutes ago with the following error message: Failed to install PyPI packages. Check the in-cluster build logs for details. They can be found in the Environment logs under the build-log-* log name.
Consulter le message d'erreur détaillé
Lorsqu'une installation de package échoue, pip
rapporte un message d'erreur détaillé.
Ce message d'erreur s'affiche dans les journaux de compilation.
Recherchez l'erreur pip
dans les journaux Cloud Build
Vous pouvez suivre le lien dans le message d'erreur Cloud Build ou accéder aux journaux de compilation :
Accédez aux journaux de compilation :
Dans la console Google Cloud, accédez à la page Historique de compilation.
Sélectionnez la compilation ayant échoué pour afficher ses journaux.
Dans le journal de compilation, recherchez le message d'erreur de
pip
. Exemple :ERROR: apache-airflow-backport-providers-google 2021.2.5 has requirement google-cloud-logging<3.0.0,>=2.1.1, but you'll have google-cloud-logging 1.15.0 which is incompatible.
Rechercher l'erreur pip
dans les journaux de compilation du cluster
Accédez aux journaux de compilation :
Dans la console Google Cloud, accédez à la page Environnements.
Sélectionnez votre environnement.
Ouvrez l'onglet Journaux.
Sélectionnez Tous les journaux > Journaux Composer > Builds > Travailleurs et Image du programmeur.
Dans la liste déroulante Gravité, sélectionnez Info.
Dans les journaux affichés :
Recherchez le message d'erreur
installer.sh
. Exemple :The command '/bin/sh -c bash installer.sh $COMPOSER_PYTHON_VERSION fail' returned a non-zero code: 1
Les messages d'information précédents comportent l'erreur
pip
détaillée. Exemple :apache-airflow-backport-providers-google 2021.2.5 has requirement google-cloud-logging<3.0.0,>=2.1.1, but you have google-cloud-logging 1.15.0.
Conflits avec les packages PyPI préinstallés
Des conflits de packages peuvent se produire entre les packages personnalisés PyPI que vous installez et les packages préinstallés.
Vous pouvez consulter la liste complète des packages préinstallés pour votre version de Cloud Composer sur la page Versions Cloud Composer.
Pour résoudre ce problème, vous pouvez effectuer les opérations suivantes :
Installez une autre version du package PyPI personnalisé.
Installez une autre version du package préinstallé. Pour ce faire, installez un package PyPI personnalisé avec le nom du package préinstallé et spécifiez la version requise. Nous vous déconseillons de revenir à une version antérieure des packages préinstallés.
Vérifiez si les versions Cloud Composer ultérieures utilisent une version différente du package préinstallé. Vous pouvez vérifier les conflits potentiels de packages PyPI avant de mettre à niveau votre environnement vers une version ultérieure de Cloud Composer.
Utiliser PythonVirtualenvOperator pour isoler les extraits de code qui nécessitent des packages conflictuels.
Serveur de métadonnées indisponible lors de l'installation de packages PyPI
Si votre environnement utilise un fichier pip.conf
personnalisé, vous pouvez rencontrer un problème lorsque vous ne pouvez pas installer de nouveaux packages PyPI dans votre environnement. Dans les journaux Cloud Build associés au package
d'installation, le message d'avertissement suivant s'affiche:
WARNING: Compute Engine Metadata server unavailable on attempt 3 of 3. Reason:
timed out
WARNING: Authentication failed using Compute Engine authentication due to
unavailable metadata server.
Ce problème est causé par un fichier pip.conf
qui n'autorise pas l'accès à l'index de paquets par défaut à http://pypi.org/simple
. Par exemple, si votre fichier pip.conf
n'autorise que l'installation de packages à partir d'un dépôt Artifact Registry personnalisé en raison du paramètre index-url
redéfini, l'installation de packages à partir de l'index de paquets par défaut n'est pas disponible.
Pour résoudre ce problème, assurez-vous que l'index du package http://pypi.org/simple
est ajouté à votre fichier pip.conf
. Par exemple, si votre indice de package principal est défini dans le paramètre index-url
, ajoutez l'indice http://pypi.org/simple
dans le paramètre extra-index-url
.
Étape suivante
- Installer des dépendances Python
- Résoudre les problèmes liés aux mises à jour et aux mises à niveau d'environnement