Después de instalar apache-superset usando pip en un entorno virtual, ejecuto:
superset upgrade dbMe encuentro con el siguiente error:
ImportError: cannot import name '_ColumnEntity' from 'sqlalchemy.orm.query' (/Users/ahmedawny/supersetenv/lib/python3.7/site-packages/sqlalchemy/orm/query.py)Cualquier consejo sería apreciado.
Si no desea modificar el archivo de requisitos, como se recomienda en la respuesta de @InsertSpywareTrackingHere , puede instalar manualmente una versión anterior:
pip install sqlalchemy==1.3.24puede arreglar esto temporalmente cambiando las importaciones en sqlalchemy_utils\functions\orm.py:
from sqlalchemy.orm.query import _ColumnEntitypara
from sqlalchemy.orm.context import _ColumnEntityLa razón principal de esto es que se envió sqlalchemy 1.4, por lo que ahora es el predeterminado que pip instala. Hubo muchos cambios en la interfaz y se agregó una nueva interfaz de consulta.
Por lo tanto, actualizar a 1.4 rompe cosas que dependen de los componentes internos de la API de sqlalchemy 1.3. En su archivo requirements.txt: fije la versión del proyecto a la serie 1.3.x hasta que el resto de sus cosas se ponga al día. Por ejemplo, a partir de esta fecha, sqlalchemy-utils aún depende de sqlalchemy 1.3x.
requisitos.txt:
sqlalchemy < 1.4.0Luego usa:
pip -r requirements.txtpara "rebajar" a la versión anclada.
La respuesta de @InsertSpywareTrackingHere es correcta, solo quiero agregar que se realizó una nueva versión para Flask-AppBuilder que fija SQLAlchemy debajo de 1.4.0. Entonces, instalar apache-superset usando pip install apache-superset debería funcionar ahora.
Vaya al archivo sqlalchemy_utils.functions y cambie:
como consecuencia de esto, creo que debería cambiar algunas cosas a lo largo del código...