导入langchain触发TypeError错误,寻求解决方案
LangChain导入触发TypeError的解决方案
问题场景
已通过pip install langchain完成框架安装,执行导入操作时出现如下错误:
File /usr/lib/python3.8/typing.py:774, in _GenericAlias.subclasscheck(self, cls)
772 if self._special:
773 if not isinstance(cls, _GenericAlias):
--> 774 return issubclass(cls, self.origin)
775 if cls._special:
776 return issubclass(cls.origin, self.origin)TypeError: issubclass() arg 1 must be a class
解决方案
该错误核心是Python 3.8的typing模块与新版LangChain的泛型处理逻辑不兼容,可通过以下方式解决:
- 升级Python版本:将Python升级至3.9及以上版本,LangChain新版本对3.9+的兼容性更好,可彻底解决此类typing相关问题。
- 安装兼容旧版本LangChain:若无法升级Python,指定安装适配Python 3.8的LangChain版本,执行命令:
pip install langchain==0.0.290 - 降级依赖包:检查并降级
typing-extensions等依赖包至兼容版本,执行命令:pip install typing-extensions==4.5.0
内容的提问来源于stack exchange,提问作者M. D. P
相关产品推荐
相关产品推荐

