使用langgraph遇ModuleNotFoundError及循环导入错误求助
解决langgraph导入报错:ModuleNotFoundError & AttributeError
问题场景
运行以下代码时出现报错:
from langchain_community.tools.tavily_search import TavilySearchResults from langgraph.prebuilt import ToolExecutor OPENAI_API_KEY = ... TAVILY_API_KEY = ... tools = [TavilySearchResults(max_results=1)] tool_executor = ToolExecutor(tools)
报错信息:
Exception has occurred: ModuleNotFoundError No module named 'langgraph.prebuilt'; 'langgraph' is not a package AttributeError: partially initialized module 'langgraph' has no attribute '__path__' (most likely due to a circular import)
排查解决步骤
检查本地文件/目录命名冲突
这是最常见的触发原因:如果你的脚本文件名是langgraph.py,或者当前工作目录下存在名为langgraph的文件夹(且包含__init__.py),Python会优先加载本地的这个文件/目录,而非通过pip安装的官方langgraph包。
解决方法:将重名文件改名(比如改为my_langgraph_demo.py),或把重名文件夹移至其他目录,之后重新运行代码。重新安装langgraph
可能存在安装不完整或版本兼容问题,执行以下命令卸载重装:pip uninstall langgraph -y pip install langgraph也可以直接升级到最新版本:
pip install --upgrade langgraph注意:如果使用虚拟环境,务必确认当前终端已激活对应环境,避免包安装到错误的环境中。
验证Python模块搜索路径
运行以下代码查看Python的模块搜索路径,确认langgraph的安装目录在列表内:import sys print(sys.path)如果安装目录不在其中,建议重新在正确的环境中安装langgraph,不推荐手动添加路径(容易引发其他问题)。
排查循环导入问题
若你的代码存在循环引用(比如你的脚本导入了langgraph,同时langgraph的某个模块又导入了你的脚本),也会触发该错误。这种情况需要调整代码结构,解除循环依赖。
内容的提问来源于stack exchange,提问作者PARINAZ TABARI
相关产品推荐
相关产品推荐

