Resolver problemas de instalação do pacote PyPI

Nesta página, explicamos como solucionar conflitos de dependência ao instalar pacotes PyPI personalizados.

Os problemas mais comuns com os pacotes PyPI que podem ocorrer no Cloud Composer são conflitos de dependência.

Quando você especifica um novo pacote PyPI personalizado a ser instalado, esse pacote ou a versão dele podem causar conflitos de dependência com outros pacotes PyPI personalizados ou pacotes pré-instalados no ambiente. Nesse caso, a operação de atualização do ambiente falha com um erro.

Erros de build do Cloud Build e no cluster

Se ocorrer um problema com os pacotes, você receberá uma mensagem de erro de acordo com a maneira como o ambiente está implantado:

  • Cloud Build. Uma mensagem de erro e um link para o registro do Cloud Build. Exemplo:

    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 ...
    
  • Builds no cluster. Uma mensagem de erro e o local dos registros do build. Exemplo:

    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.
    

Veja a mensagem de erro detalhada

Quando uma instalação de pacote falha, o pip informa a mensagem de erro detalhada. Essa mensagem de erro fica nos registros do build.

Localizar o erro de pip nos registros do Cloud Build

Clique no link da mensagem de erro do Cloud Build ou localize os registros do build:

  1. Localize os registros do build:

    1. No Console do Google Cloud, acesse a página Histórico de builds.

      Acesse o histórico de builds

    2. Selecione o build com falha para ver os registros.

  2. No registro do build, localize a mensagem de erro de pip. Exemplo:

    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.
    

Localize o erro pip nos registros de criação no cluster.

  1. Localize os registros do build:

    1. No Console do Google Cloud, acesse a página Ambientes.

      Acessar "Ambientes"

    2. Selecione o ambiente.

    3. Abra a guia Registros.

    4. Selecione Todos os registros > Registros do Composer > Builds.

      Imagem de worker e programador.

    5. Na lista suspensa Gravidade, selecione Informações.

  2. Nos registros exibidos:

    1. Localize a mensagem de erro installer.sh. Exemplo:

      The command '/bin/sh -c bash installer.sh $COMPOSER_PYTHON_VERSION
      fail' returned a non-zero code: 1
      
    2. As mensagens de informações anteriores detalham o erro pip. Exemplo:

      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.
      

Conflitos com pacotes PyPI pré-instalados

Alguns conflitos de pacotes ocorrem entre pacotes PyPI personalizados que você instala e os pacotes pré-instalados.

É possível ver a lista completa de pacotes pré-instalados da sua versão do Cloud Composer na página Versões do Cloud Composer.

Para resolver esse problema, faça o seguinte:

  • Instale uma versão diferente do pacote PyPI personalizado.
  • Instale uma versão diferente do pacote pré-instalado. Para fazer isso, instale um pacote PyPI personalizado com o nome do pacote pré-instalado e especifique a versão necessária. Não é recomendável fazer downgrade de pacotes pré-instalados.
  • Veja se mais tarde as versões do Cloud Composer usam uma versão diferente do pacote pré-instalado. Nesse caso, fazer upgrade do ambiente pode resolver o conflito de dependências.

A seguir