使用SQLAlchemy mypy插件报错:无法从mypy.plugin导入Optional
解决SQLAlchemy mypy插件导入报错问题
问题原因
SQLAlchemy 1.4的mypy插件与mypy 0.991版本不兼容。mypy 0.991重构了内部模块结构,移除了mypy.plugin模块中的Optional导出,但旧版SQLAlchemy插件仍尝试导入该符号,导致报错。
解决方案
方案1:降低mypy版本到兼容范围
执行以下命令安装与SQLAlchemy 1.4匹配的mypy版本:
pip install mypy==0.981
安装完成后重新运行mypy检查,报错即可消除。
方案2:升级SQLAlchemy至适配新版本mypy的版本
如果项目允许升级SQLAlchemy,执行以下命令安装2.0及以上版本:
pip install sqlalchemy[mypy]>=2.0
升级后保持原插件配置即可正常使用mypy检查。
验证
重新执行mypy检查命令:
mypy --config-file=mypy.ini
确认无导入报错信息。
内容的提问来源于stack exchange,提问作者Isky
相关产品推荐
相关产品推荐

