Fehlerbehebung bei der Installation des PyPI-Pakets

Cloud Composer 1 Cloud Composer 2

Auf dieser Seite wird beschrieben, wie Sie Abhängigkeitskonflikte bei der Installation benutzerdefinierter PyPI-Pakete beheben können.

Das häufigste Problem bei PyPI-Paketen, die in Cloud Composer auftreten können, sind Abhängigkeitskonflikte.

Wenn Sie ein neues benutzerdefiniertes PyPI-Paket angeben, das installiert werden soll, können diese Pakete oder deren Version Abhängigkeiten in Konflikt mit anderen benutzerdefinierten PyPI-Paketen oder vorinstallierten Paketen in Ihrer Umgebung verursachen. In diesem Fall schlägt die Aktualisierung der Umgebung mit einem Fehler fehl.

Cloud Build-Fehler und Build-Fehler im Cluster

Wenn Probleme mit Paketen auftreten, erhalten Sie je nach Art der Bereitstellung Ihrer Umgebung die Fehlermeldungen auf zwei Arten:

  • Cloud Build Eine Fehlermeldung und ein Link zum Cloud Build-Log. Beispiel:

    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 ...
    
  • In-Cluster-Builds: Eine Fehlermeldung und der Speicherort von Build-Logs. Beispiel:

    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.
    

Detaillierte Fehlermeldung ansehen

Wenn eine Paketinstallation fehlschlägt, meldet pip die detaillierte Fehlermeldung. Diese Fehlermeldung finden Sie in den Build-Logs.

Den pip-Fehler in Cloud Build-Logs suchen

Sie können auf den Link in der Cloud Build-Fehlermeldung klicken oder Build-Logs suchen:

  1. Suchen Sie Build-Logs:

    1. Rufen Sie in der Google Cloud Console die Seite Build-Verlauf auf.

      Zum Build-Verlauf

    2. Wählen Sie den fehlgeschlagenen Build aus, um dessen Logs aufzurufen.

  2. Suchen Sie im Build-Log nach der Fehlermeldung von pip. Beispiel:

    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.
    

Den pip-Fehler in Build-Logs im Cluster suchen

  1. Suchen Sie Build-Logs:

    1. Rufen Sie in der Google Cloud Console die Seite Umgebungen auf.

      Zur Seite Umgebungen“

    2. Wählen Sie Ihre Umgebung aus.

    3. Öffnen Sie den Tab Logs.

    4. Wählen Sie Alle Logs > Composer-Logs > Builds > Worker- und Planer-Image aus.

    5. Wählen Sie in der Drop-down-Liste Schweregrad die Option Info aus.

  2. In den angezeigten Logs:

    1. Suchen Sie nach der Fehlermeldung installer.sh. Beispiel:

      The command '/bin/sh -c bash installer.sh $COMPOSER_PYTHON_VERSION
      fail' returned a non-zero code: 1
      
    2. Die Infonachrichten davor haben den detaillierten pip-Fehler. Beispiel:

      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.
      

Konflikte mit vorinstallierten PyPI-Paketen

Zwischen den von Ihnen installierten benutzerdefinierten PyPI-Paketen und den vorinstallierten Paketen treten einige Paketkonflikte auf.

Eine vollständige Liste der vorinstallierten Pakete für Ihre Version von Cloud Composer finden Sie auf der Seite Cloud Composer-Versionen.

So können Sie lösen dieses Problem:

Metadatenserver beim Installieren von PyPI-Paketen nicht verfügbar

Wenn Ihre Umgebung eine benutzerdefinierte pip.conf-Datei verwendet, tritt möglicherweise ein Problem auf, wenn keine neuen PyPI-Pakete in Ihrer Umgebung installiert werden können. In den Cloud Build-Logs zum Installationsfehler des Pakets wird die folgende Warnmeldung angezeigt:

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.

Dieses Problem wird durch eine pip.conf-Datei verursacht, die keinen Zugriff auf den Standardpaketindex unter http://pypi.org/simple zulässt. Wenn die Datei pip.conf beispielsweise die Installation von Paketen aus einem benutzerdefinierten Artifact Registry-Repository aufgrund des neu definierten Parameters index-url nur zulässt, können keine Pakete aus dem Standardpaketindex installiert werden.

Zur Behebung dieses Problems muss der http://pypi.org/simple-Paketindex der Datei pip.conf hinzugefügt werden. Wenn beispielsweise der primäre Paketindex im Parameter index-url definiert ist, fügen Sie den Index http://pypi.org/simple im Parameter extra-index-url hinzu.

Nächste Schritte