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 > Compilations > Image du nœud de calcul et de l'ordonnanceur.
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 le Versions de 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 rechercher d'éventuels conflits de packages PyPI avant de mettre à niveau votre environnement vers une version ultérieure Cloud Composer.
Utilisez PythonVirtualenvOperator pour isoler les extraits de code qui nécessitent des packages en conflit.
Serveur de métadonnées indisponible lors de l'installation des 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 liés à l'erreur d'installation du package, 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
uniquement
permet d'installer des packages à partir d'un dépôt Artifact Registry personnalisé
le paramètre index-url
redéfini, en installant les packages à partir de
l'index de package par défaut n'est pas disponible.
Pour résoudre ce problème, assurez-vous que l'index de paquet http://pypi.org/simple
est ajouté à votre fichier pip.conf
. Par exemple, si l'index de package principal
est défini dans le paramètre index-url
, ajoutez 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