Solucionar problemas da instalação do pacote PyPI

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

O problema mais comum com pacotes PyPI que podem ser encontrados no Cloud Composer são conflitos de dependência.

Quando você especifica um novo pacote PyPI personalizado para instalação, esse pacote ou a versão dele pode 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 criação no cluster e do Cloud Build

Se ocorrer um problema com os pacotes, você receberá a mensagem de erro sobre isso de duas maneiras, dependendo da maneira como seu ambiente é 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 ...
    
  • Compilações no cluster. Uma mensagem de erro e o local dos registros de 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.
    

Ver a mensagem de erro detalhada

Quando uma instalação de pacote falha, o pip informa a mensagem de erro detalhada. Você pode encontrar essa mensagem de erro nos registros de build.

Localize o erro pip nos registros do Cloud Build

É possível seguir o link na mensagem de erro do Cloud Build ou localizar os registros da versão:

  1. Localize os registros da versão:

    1. No Console do Google Cloud, acesse a página Histórico da compilação.

      Acessar o histórico de versões

    2. Selecione a versão com falha para ver os registros.

  2. No registro de build, encontre 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 build no cluster

  1. Localize os registros da versão:

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

      Acessar ambientes

    2. Selecione seu ambiente.

    3. Abra a guia Registros.

    4. Selecione Todos os registros > Registros do Composer > Compilações.

      Imagem do 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ção anteriores têm o erro pip detalhado. 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 instalados e os pacotes pré-instalados.

Veja a lista completa de pacotes pré-instalados para sua versão do Cloud Composer na página de versões do Cloud Composer.

Para resolver esse problema, é possível:

  • 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 recomendamos o downgrade de pacotes pré-instalados.
  • Veja se as versões do Cloud Composer posteriores usam uma versão diferente do pacote pré-instalado. Nesse caso, o upgrade do seu ambiente pode resolver o conflito de dependência.

A seguir