首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ImportError:无法从'sqlalchemy.orm.query‘导入名称'_ColumnEntity’

ImportError:无法从'sqlalchemy.orm.query‘导入名称'_ColumnEntity’
EN

Stack Overflow用户
提问于 2021-03-16 04:08:50
回答 5查看 10K关注 0票数 17

在虚拟环境中使用pip安装apache-superset之后,我运行:

代码语言:javascript
复制
superset upgrade db   

我遇到了以下错误:

代码语言:javascript
复制
ImportError: cannot import name '_ColumnEntity' from 'sqlalchemy.orm.query' (/Users/ahmedawny/supersetenv/lib/python3.7/site-packages/sqlalchemy/orm/query.py)

任何建议都将不胜感激。

EN

回答 5

Stack Overflow用户

发布于 2021-03-16 09:52:59

这样做的核心原因是sqlalchemy 1.4已经发布,所以它现在是pip默认安装的。有许多界面更改,并添加了新的查询界面。

所以升级到1.4打破了依赖于sqlalchemy 1.3API内部的东西。在您的requirements.txt文件中--将项目版本固定到1.3.x系列,直到其他版本跟上。例如,到目前为止,sqlalchemy-utils仍然依赖于sqlalchemy 1.3x。

requirements.txt:

代码语言:javascript
复制
sqlalchemy < 1.4.0

然后使用:

代码语言:javascript
复制
pip -r requirements.txt

“降级”到固定的版本。

票数 41
EN

Stack Overflow用户

发布于 2021-03-18 05:54:49

转到sqlalchemy_utils.functions文件并更改:

  • from sqlalchemy.orm.query导入_ColumnEntity (注释此文件,或将其删除)
  • from sqlalchemy.orm.context导入_ColumnEntity (include)

因此,我认为它应该沿着代码改变一些东西……

票数 2
EN

Stack Overflow用户

发布于 2021-12-01 01:17:51

如果您不想像@InsertSpywareTrackingHere's answer中建议的那样修改需求文件,您可以手动pip安装一个较旧的版本:

代码语言:javascript
复制
pip install sqlalchemy==1.3.24
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66644975

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档