Risoluzione dei problemi di installazione del pacchetto PyPI

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

Questa pagina spiega come risolvere i conflitti di dipendenza durante l'installazione pacchetti PyPI personalizzati.

Il problema più comune con i pacchetti PyPI che potresti riscontrare nei Cloud Composer sono conflitti di dipendenza.

Quando specifichi un nuovo pacchetto PyPI personalizzato da installare, questo pacchetto o i relativi potrebbero causare conflitti di dipendenza con altri pacchetti PyPI personalizzati di pacchetti preinstallati nel tuo ambiente. In questo caso, l'ambiente l'operazione di aggiornamento non va a buon fine e restituisce un errore.

Errori di build nel cluster e di Cloud Build

Se si verifica un problema con i pacchi, ricevi il relativo messaggio di errore in due a seconda di come viene eseguito il deployment del tuo ambiente:

  • Cloud Build. Viene visualizzato un messaggio di errore e un link Log di Cloud Build. Ad esempio:

    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 ...
    
  • Build in-cluster. Un messaggio di errore e la posizione dei log di build. Per esempio:

    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.
    

Leggi il messaggio di errore dettagliato

Quando l'installazione di un pacchetto non va a buon fine, pip segnala il messaggio di errore dettagliato. Puoi trovare questo messaggio di errore nei log di build.

Individua l'errore pip nei log di Cloud Build

Puoi seguire il link presente nel messaggio di errore di Cloud Build oppure per individuare i log di build:

  1. Individua i log di build:

    1. Nella console Google Cloud, vai alla pagina Cronologia build.

      Vai a Cronologia build

    2. Seleziona la build non riuscita per visualizzarne i log.

  2. Nel log di build, individua il messaggio di errore di pip. Ad esempio:

    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.
    

Individua l'errore pip nei log di build nel cluster

  1. Individua i log di build:

    1. Nella console Google Cloud, vai alla pagina Ambienti.

      Vai ad Ambienti

    2. Seleziona il tuo ambiente.

    3. Apri la scheda Log.

    4. Seleziona Tutti i log > Log di Composer > Build > Lavoratore e Immagine scheduler.

    5. Nell'elenco a discesa Gravità, seleziona Informazioni.

  2. Nei log visualizzati:

    1. Individua il messaggio di errore installer.sh. Per esempio:

      The command '/bin/sh -c bash installer.sh $COMPOSER_PYTHON_VERSION
      fail' returned a non-zero code: 1
      
    2. I messaggi informativi precedenti contengono l'errore pip dettagliato. Per esempio:

      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.
      

Conflitti con i pacchetti PyPI preinstallati

Si verificano alcuni conflitti tra i pacchetti tra i pacchetti PyPI personalizzati che installi e dei pacchetti preinstallati.

Puoi visualizzare l'elenco completo dei pacchetti preinstallati per la tua versione di Cloud Composer sul pagina delle versioni di Cloud Composer.

Per risolvere il problema, puoi:

Server di metadati non disponibile durante l'installazione di pacchetti PyPI

Se il tuo ambiente utilizza un file pip.conf personalizzato, potresti riscontrare un problema se non è possibile installare nuovi pacchetti PyPI del tuo ambiente. Nei log di Cloud Build relativi al pacchetto di installazione, potrai visualizzare il seguente messaggio di avviso:

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.

Questo problema è causato da un file pip.conf che non consente l'accesso ai indice pacchetti predefinito alle ore http://pypi.org/simple. Ad esempio, se il tuo file pip.conf consente l'installazione di pacchetti da un repository Artifact Registry personalizzato a causa il parametro index-url ridefinito, installando pacchetti dal l'indice pacchetti predefinito non è disponibile.

Per risolvere il problema, assicurati che l'indice dei pacchetti http://pypi.org/simple viene aggiunto al tuo file pip.conf. Ad esempio, se l'indice dei pacchetti principale è definito nel parametro index-url, aggiungi http://pypi.org/simple nel parametro extra-index-url.

Passaggi successivi