首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么mypy不适用于sqlalchemy?

为什么mypy不适用于sqlalchemy?
EN

Stack Overflow用户
提问于 2022-10-16 21:01:58
回答 1查看 100关注 0票数 2

我有以下代码(片段):

代码语言:javascript
复制
from sqlalchemy.orm import declarative_base

Base = declarative_base()

我安装了pip

代码语言:javascript
复制
$ pip install -U sqlalchemy[mypy] sqlalchemy-stubs mypy
$ pip list | egrep -i '(sqlal|mypy)'
mypy                          0.982
mypy-extensions               0.4.3
SQLAlchemy                    1.4.42
sqlalchemy-stubs              0.4
SQLAlchemy-Utils              0.38.3
sqlalchemy2-stubs             0.0.2a29

不过,在运行mypy file.py时,我得到的是:

代码语言:javascript
复制
$ python3 -mmypy test.py 
test.py:1: error: Module "sqlalchemy.orm" has no attribute "declarative_base"
Found 1 error in 1 file (checked 1 source file)

我在虚拟环境中使用Python3.10.5。

我能做些什么来调试更多呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-16 23:14:01

我觉得这是个炼金术的问题。

sqlalchemy.ext.declarative包现在集成到sqlalchemy.orm命名空间中。

https://docs.sqlalchemy.org/en/14/changelog/migration_14.html#change-5508

它似乎不能正确地工作,但我没有深入挖掘。

当我像这样导入declarative_base“旧方式”时,它运行得很好:

代码语言:javascript
复制
from sqlalchemy.ext.declarative import declarative_base

Base = declarative_base()
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74090692

复制
相关文章

相似问题

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