导入错误:无法从“sqlalchemy.orm.query”导入名称“_ColumnEntity”
在虚拟环境中使用 pip 安装 apache-superset 后,我运行:
superset upgrade db
我遇到以下错误:
ImportError: cannot import name '_ColumnEntity' from 'sqlalchemy.orm.query' (/Users/ahmedawny/supersetenv/lib/python3.7/site-packages/sqlalchemy/orm/query.py)
任何意见,将不胜感激。
回答
这样做的核心原因是 sqlalchemy 1.4 已发布,因此它现在是 pip 安装的默认值。有许多界面更改并添加了新的查询界面。
所以升级到 1.4 会破坏依赖于 sqlalchemy 1.3 API 内部的东西。在您的 requirements.txt 文件中——将项目版本固定到 1.3.x 系列,直到您的其他内容赶上。例如,截至目前,sqlalchemy-utils 仍依赖于 sqlalchemy 1.3x。
要求.txt:
sqlalchemy < 1.4.0
然后使用:
pip -r requirements.txt
“降级”到固定版本。
- pip install -r ...
- Who does breaking changes from 1.3.x to 1.4.0? (sigh)
THE END
二维码