es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

AWS Lambda, No se puede importar un módulo (en el paquete) (escrito en Cython)

Estoy intentando importar el paquete python-dependency-injector dentro de una función lambda.

Para ejecutar la función lambda, he comprimido el contenido de mi proyecto junto con los paquetes en /opt/anaconda3/envs/…/python3.9/site-packages para desplegar una aplicación fast-api (con mangum).

El uso de cualquier otro paquete funciona bien, pero extrañamente al usar este paquete (escrito en Cython) obtengo el siguiente error:

{“errorMessage”: “No se puede importar el módulo ‘main’: no se puede importar el nombre ‘providers’ de ‘dependencyinjector’ (/var/task/dependencyinjector/init.py)”, “errorType”: “Runtime.ImportModuleError”, “requestId”: “5c63c01b-5be1-4481-adf8-691167cb54bd”, “stackTrace”: []}

No estoy seguro de si este es un problema conocido al usar paquetes escritos en Cython o si hay alguna solución alternativa.

He intentado importar manualmente el paquete (que estaba en site-packages) en una instancia de EC2 recién creada (AWS Linux) y también en mi local (Mac).

Sin importar este paquete específico, todo lo demás funciona bien.

Agradecería mucho si alguien puede guiarme en cómo resolver este problema.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Parece que podría haber un problema con la dependencia del paquete dependency_injector cuando se utiliza en una función lambda. Es posible que el paquete no sea compatible con el entorno o la arquitectura de la función lambda.

    Una solución alternativa podría ser intentar compilar el paquete para el entorno lambda utilizando Cython. Esto requeriría ciertos conocimientos técnicos y posiblemente modificar el código del paquete.

    Otra opción sería buscar paquetes de inyección de dependencias alternativos que se sepan que funcionan bien con funciones lambda. Podrías intentar buscar paquetes diseñados específicamente para entornos sin servidor o que hayan sido probados en funciones lambda anteriormente.

    También podría ser útil contactar con los desarrolladores del paquete o la comunidad lambda para obtener apoyo y consejos sobre este problema. Es posible que hayan encontrado problemas similares y puedan ofrecer orientación sobre cómo resolverlo.

Comments are closed.