使用LangChain+Streamlit运行py文件时遇sqlalchemy无法导入CursorResult错误
解决从sqlalchemy导入CursorResult失败的问题
问题原因
Sqlalchemy 2.0+版本对CursorResult的模块路径做了调整,若你使用的LangChain版本未适配新版Sqlalchemy,就会触发导入失败的报错。
解决方案
- 查看当前Sqlalchemy版本:执行
pip show sqlalchemy确认版本号。 - 方案1:降级到兼容的旧版本Sqlalchemy
执行命令:pip install sqlalchemy==1.4.49(该版本为LangChain广泛兼容的1.x稳定版),完成后重启Streamlit服务。 - 方案2:适配新版Sqlalchemy修改导入路径
若不想降级Sqlalchemy,找到代码中导入CursorResult的行,将from sqlalchemy import CursorResult替换为from sqlalchemy.engine import CursorResult——2.0+版本中CursorResult已迁移至sqlalchemy.engine模块下。 - 方案3:升级LangChain至最新版本
执行pip install --upgrade langchain,新版LangChain已适配Sqlalchemy 2.0+,可直接解决版本兼容问题。
内容的提问来源于stack exchange,提问作者shivani
相关产品推荐
相关产品推荐

