You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Alembic结合asyncio初始化失败:无法导入AsyncAttrs

解决办法
  • 修正导入路径:SQLAlchemy 2.0 起,AsyncAttrs 已经从 sqlalchemy.ext.asyncio 迁移到 sqlalchemy.orm 模块下。打开你的 database.py 和 env.py,把所有 from sqlalchemy.ext.asyncio import AsyncAttrs 的语句改成 from sqlalchemy.orm import AsyncAttrs。

  • 校验依赖版本:执行 pip list 查看已安装的包,确保 SQLAlchemy 确实是 2.0.35 版本,没有残留的旧版本(比如 1.x 版本)干扰。如果发现多个版本,用 pip uninstall sqlalchemy 全部卸载后再重新安装指定版本:pip install sqlalchemy==2.0.35。

  • 清理缓存并重试:删除项目根目录下的 __pycache__ 文件夹,然后重新执行 alembic revision --autogenerate -m "initial revision",避免缓存的旧代码导致导入错误。

  • 检查异步引擎配置:确认 env.py 中使用的是 SQLAlchemy 2.0 兼容的异步引擎创建方式,比如:

    from sqlalchemy.ext.asyncio import create_async_engine
    engine = create_async_engine(DATABASE_URL)
    

    确保没有混用旧版同步引擎的配置逻辑。

内容的提问来源于stack exchange,提问作者Grey may

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 07:18:11