升级LangChain和OpenAI后出现路径ValueError问题求助
问题:导入create_python_agent时触发ValueError错误
我通过以下conda命令升级了LangChain和OpenAI:
conda install conda-forge::langchain conda install conda-forge::openAI
执行代码from langchain.agents.agent_toolkits import create_python_agent时触发如下ValueError错误:
from langchain.agents.agent_toolkits import create_python_agent --------------------------------------------------------------------------- ValueError Traceback (most recent call last) Cell In[2], line 1 ----> 1 from langchain.agents.agent_toolkits import create_python_agent 2 from langchain.tools.python.tool import PythonREPLTool 3 from langchain.llms.openai import OpenAI File <frozen importlib._bootstrap>:1075, in _handle_fromlist(module, fromlist, import_, recursive) File c:\Users\yongn\miniconda3\envs\langchain_ai\lib\site-packages\langchain\agents\agent_toolkits\__init__.py:50, in __getattr__(name) 48 """Get attr name.""" 49 if name in DEPRECATED_AGENTS: ---> 50 relative_path = as_import_path(Path(__file__).parent, suffix=name) 51 old_path = "langchain." + relative_path 52 new_path = "langchain_experimental." + relative_path File c:\Users\test\miniconda3\envs\langchain_ai\lib\site-packages\langchain_core\_api\path.py:30, in as_import_path(file, suffix, relative_to) 28 if isinstance(file, str): 29 file = Path(file) ---> 30 path = get_relative_path(file, relative_to=relative_to) 31 if file.is_file(): 32 path = path[: -len(file.suffix)] File c:\Users\test\miniconda3\envs\langchain_ai\lib\site-packages\langchain_core\_api\path.py:18, in get_relative_path(file, relative_to) 16 if isinstance(file, str): 17 file = Path(file) ---> 18 return str(file.relative_to(relative_to)) File c:\Users\test\miniconda3\envs\langchain_ai\lib\pathlib.py:818, in PurePath.relative_to(self, *other) 816 if (root or drv) if n == 0 else cf(abs_parts[:n]) != cf(to_abs_parts): 817 formatted = self._format_parsed_parts(to_drv, to_root, to_parts) ---> 818 raise ValueError("{!r} is not in the subpath of {!r}" 819 " OR one path is relative and the other is absolute." 820 .format(str(self), str(formatted))) 821 return self._from_parsed_parts('', root if n == 1 else '', 822 abs_parts[n:]) ValueError: 'c:\\Users\\test\\miniconda3\\envs\\langchain_ai\\lib\\site-packages\\langchain\\agents\\agent_toolkits' is not in the subpath of 'c:\\Users\\test\\miniconda3\\envs\\langchain_ai\\lib\\site-packages\\langchain_core' OR one path is relative and the other is absolute.
解决方法
- 安装
langchain_experimental库:
conda install conda-forge::langchain_experimental
- 修改导入代码,替换为新的路径:
from langchain_experimental.agents.agent_toolkits import create_python_agent
- 同步调整相关工具类的导入路径,比如
PythonREPLTool:
from langchain_experimental.tools.python.tool import PythonREPLTool
内容的提问来源于stack exchange,提问作者roudan
相关产品推荐
相关产品推荐

