我有以下代码(片段):
from sqlalchemy.orm import declarative_base
Base = declarative_base()我安装了pip
$ 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时,我得到的是:
$ 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。
我能做些什么来调试更多呢?
发布于 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“旧方式”时,它运行得很好:
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()https://stackoverflow.com/questions/74090692
复制相似问题