描述错误
LangGraph/LangChain 未安装: cannot import name 'ExecutionInfo' from 'langgraph.runtime' (....venv\Lib\site-packages\langgraph\runtime.py)
分析
根据下面网页解决:
https://github.com/langchain-ai/langgraph/issues/7404
因为 langchain、langgraph、langgraph-prebuilt的版本不兼容导致的:
- langchain==1.2.1 硬约束:langgraph < 1.1.0,不能装 1.1.0+
- langgraph-prebuilt
>=1.0.9会强制导入 ExecutionInfo,但<1.1.0的 langgraph 新版(1.0.10+)已移除该类,直接冲突报错
方案一(推荐)
目标:
- 保持
langchain==1.2.1不动 - 使用 不依赖
ExecutionInfo的低版本langgraph-prebuilt langgraph同步搭配同生态旧版,彻底规避导入错误
执行命令(uv 环境)
# 卸载现有冲突版本
uv remove langgraph langgraph-prebuilt
# 安装兼容组合(实测无 ExecutionInfo 导入报错、create_react_agent 可用)
uv add langgraph==1.0.5 langgraph-prebuilt==1.0.8
版本匹配说明
langgraph==1.0.5:属于<1.1.0区间,满足 langchain 约束,内置ExecutionInfolanggraph-prebuilt==1.0.8:该版本不会尝试导入 ExecutionInfo,完美适配- 同时支持
from langgraph.prebuilt import create_react_agent正常使用
同步修改依赖清单
"langchain==1.2.1",
"langgraph==1.0.5",
"langgraph-prebuilt==1.0.8",
执行完成后重启服务,两个问题一并解决:
cannot import name 'ExecutionInfo'报错消失create_react_agent导入正常- 仅保留
allowed_objects弃用警告(可按之前方法屏蔽/修复)
方案二
进阶:升级 LangChain 解除版本锁,使用新版生态
如果你后续想使用 langgraph 1.1+ 完整新特性,需要突破原版本约束,整体升级生态(适合新项目/可改动依赖):
步骤
解除
langchain==1.2.1固定版本,升级到支持langgraph 1.1+的版本uv remove langchain langgraph langgraph-prebuilt # 统一升级整套兼容生态 uv add "langchain>=1.2.2" "langgraph>=1.1.10" "langgraph-prebuilt>=1.0.9"该组合下:
langgraph 1.1.10+恢复langgraph.runtime.ExecutionInfolanggraph-prebuilt 1.0.9+正常导入,无冲突create_react_agent可正常使用
风险提示:升级后需自测原有 LangGraph 业务逻辑,部分内部 API 有小幅变更。