Estoy tratando de conectarme a Postgress y crear una carpeta test.db a través de Flask. Cuando ejecuto "python3" en la terminal y desde allí cuando ejecuto "from app import db", aparece un error de importación:
ImportError: cannot import name 'Mapping' from 'collections' (/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/collections/__init__.py)He intentado todas las soluciones de problemas pero ninguna de ellas funcionó. Por favor avise. Aquí está la pila completa: error de pila completa
Use una versión anterior de python (por ejemplo, 3.8)
Como dijo Mitra arriba , cambia:
from collections import Mappingpara
from collections.abc import MappingEso es sobre la versión de Python. en la mayoría de los casos, Python 3.10 tiene estos problemas.
Puede resolver este problema usando la versión 3.9 o 3.8 de Python. o si hay un error de paquetes como python-docx u otros paquetes sobre MS, probablemente pueda resolverlo usando pipwin.
Como dijeron otros, esto se debe a un cambio en la interfaz de las collections a partir de Python 3.10. Por lo que puedo ver, hay tres opciones para mitigar este problema hasta ahora:
Vuelva a Python 3.9.
Si el error ocurre en una biblioteca de terceros, intente actualizar primero esta biblioteca ( pip install <package> --upgrade ).
Parchear el código manualmente.
Para parchear el ImportError , consulte https://stackoverflow.com/a/69727802/13994294 .
En mi entorno, el problema se resolvió con la corrección de errores de Python versión 3.10.2
Tuve el mismo problema con las solicitudes 2.7.0 , pero en este momento estoy usando las solicitudes 2.27.1 y Python 3.10.2 sin ningún problema.