Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
En esta página, se explica cómo solucionar problemas de conflictos de dependencias cuando se instalan paquetes de PyPI personalizados.
El problema más común con los paquetes de PyPI que puedes encontrar en Cloud Composer son conflictos de dependencias.
Cuando especificas un nuevo paquete de PyPI personalizado para instalar, este paquete o su podría causar conflictos de dependencias con otros paquetes PyPI personalizados o y paquetes preinstalados en tu entorno. En este caso, el entorno la operación de actualización falla con un error.
Errores de Cloud Build y de compilación en el clúster
Si se produce un problema con los paquetes, recibirás el mensaje de error al respecto en dos según cómo esté implementado tu entorno:
Cloud Build. Un mensaje de error y un vínculo a la registro de Cloud Build. Por ejemplo:
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 ...
Compilaciones en el clúster: Un mensaje de error y la ubicación de los registros de compilación Por ejemplo:
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.
Consulta el mensaje de error detallado
Cuando falla la instalación de un paquete, pip
informa el mensaje de error detallado.
Puedes encontrar este mensaje de error en los registros de compilación.
Cómo encontrar el error pip
en los registros de Cloud Build
Puedes seguir el vínculo del mensaje de error de Cloud Build. Ubica los registros de compilación:
Cómo ubicar los registros de compilación:
En la consola de Google Cloud, ve a la página Historial de compilaciones.
Selecciona la compilación que falló para ver sus registros.
En el registro de compilación, busca el mensaje de error de
pip
. Por ejemplo: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.
Cómo ubicar el error pip
en los registros de compilación del clúster
Ubica los registros de compilación:
En la consola de Google Cloud, ve a la página Entornos.
Selecciona tu entorno.
Abre la pestaña Registros.
Selecciona Todos los registros > Registros de Composer > Compilaciones > Trabajador y Imagen del programador.
En la lista desplegable Gravedad, selecciona Información.
En los registros que se muestran:
Localiza el mensaje de error
installer.sh
. Por ejemplo:The command '/bin/sh -c bash installer.sh $COMPOSER_PYTHON_VERSION fail' returned a non-zero code: 1
Los mensajes de información anteriores tienen el error
pip
detallado. Por ejemplo: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.
Conflictos con paquetes de PyPI preinstalados
Algunos conflictos de paquetes ocurren entre paquetes de PyPI personalizados que instalas y los paquetes preinstalados.
Puedes ver la lista completa de paquetes preinstalados de tu versión de Cloud Composer en la página Versiones de Cloud Composer.
Para resolver este problema, puedes hacer lo siguiente:
Instala una versión diferente del paquete personalizado de PyPI.
Instala una versión diferente del paquete preinstalado. Para ello, instala un paquete de PyPI personalizado con el nombre del paquete preinstalado y especifica la versión requerida. No recomendamos cambiar a una versión inferior los paquetes preinstalados.
Comprueba si las versiones posteriores de Cloud Composer usan una versión diferente del paquete preinstalado. Puedes verificar si hay posibles conflictos de paquetes de PyPI antes de actualizar tu entorno a una versión posterior de Cloud Composer.
Usa PythonVirtualenvOperator. para aislar fragmentos de código que requieren paquetes conflictivos.
El servidor de metadatos no está disponible cuando se instalan paquetes de PyPI.
Si tu entorno usa un archivo pip.conf
personalizado, es posible que tengas un problema cuando no se puedan instalar paquetes PyPI nuevos en tu entorno. En los registros de Cloud Build relacionados con el error de instalación del paquete, puedes ver el siguiente mensaje de advertencia:
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.
Este problema lo causa un archivo pip.conf
que no permite el acceso a la
índice del paquete predeterminado
a las http://pypi.org/simple
. Por ejemplo, si tu archivo pip.conf
solo permite instalar paquetes desde un repositorio de Artifact Registry personalizado debido al parámetro index-url
redefinido, no estará disponible la instalación de paquetes desde el índice de paquetes predeterminado.
Para resolver este problema, asegúrate de que el índice del paquete http://pypi.org/simple
se agregará a tu archivo pip.conf
. Por ejemplo, si el índice de paquetes principal
se define en el parámetro index-url
, agrega el índice http://pypi.org/simple
en el parámetro extra-index-url
.