Estoy ejecutando esta aplicación de matraz simple en código vs. Dockerized y cargado a ECS. La tarea está saliendo con el siguiente error:
ImportError: no se puede importar el nombre 'MutableMapping' de 'colecciones' (/usr/local/lib/python3.10/colecciones/ init .py)
La imagen base que estoy usando es python3.10.
El siguiente es el código del archivo docker:
FROM python:3.10 WORKDIR /usr/src/app COPY . . RUN pip install --no-cache-dir -r requirements.txt EXPOSE 5000¿Por qué recibo este error?
Intentando lo siguiente en python 3.9:
>>> from collections import MutableMapping <stdin>:1: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3, and in 3.10 it will stop workingAsí que supongo que tu problema es que estás usando Python 3.10 donde necesitas hacer:
>>> from collections.abc import MutableMappingsi actualiza el paquete del matraz a >=2.0 , lo importará correctamente también en python 3.10
Parece que estás haciendo el mismo tutorial de docker que yo.
@geza.denes tiene razón, necesitamos el matraz 2.0 o superior.
puede actualizar esto en la aplicación de matraz/requirements.txt
Reconstruya su imagen acoplable y ejecútela nuevamente, ¡debería funcionar!