SQLAlchemy 2.0.29中mapped_column无法识别问题的排查与解决
SQLAlchemy 2.0.29中
mapped_column导入失败的解决方案 使用SQLAlchemy 2.0.29版本时,复制官方文档的代码运行报错,提示找不到mapped_column:
from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import mapped_column from sqlalchemy.orm import relationship Base = declarative_base() class User(Base): __tablename__ = "user_account" id = mapped_column(Integer, primary_key=True) name = mapped_column(String(30), nullable=False) fullname = mapped_column(String) addresses = relationship("Address", back_populates="user")
已尝试以下操作但未解决问题:
- 重新安装SQLAlchemy
- 使用Poetry管理项目依赖
- 参考GitHub上类似问题的解决方案(如导入registry等)
问题根源
Python 3.9与SQLAlchemy 2.0.29版本不兼容,导致部分ORM模块无法正常导入。
解决办法
- 升级Python版本至3.10及以上:SQLAlchemy 2.x系列的部分特性对Python版本有要求,3.10及以上版本可完美适配2.0.29。
- 降级SQLAlchemy版本:通过Poetry指定安装与Python 3.9兼容的2.x版本,例如2.0.28:
poetry add sqlalchemy@^2.0.28
内容的提问来源于stack exchange,提问作者Viyaleta Chachanets
相关产品推荐
相关产品推荐

