
ModuleNotFoundError: No module named ‘rapidfuzz’
快速结论:该报错在通过 Poetry 安装 LangChain 开发依赖时出现,通常是因为 Poetry 自动移除了某些依赖包。优先排查方法是手动安装缺失包,如 rapidfuzz。
问题场景
用户在参与 LangChain 的 “Use SecretStr for api_keys” 贡献任务时,按照项目指引设置开发环境并运行 poetry install 后,尝试运行测试或进行其他 Poetry 操作时触发了此错误。
报错原文
ModuleNotFoundError: No module named 'rapidfuzz'
原因分析
可能原因:Poetry 在安装依赖时自动移除了一些与当前环境或缓存冲突的包,导致 rapidfuzz 等依赖未被正确安装。这是 LangChain 开发环境 setup 过程中已知的依赖管理问题(参见 Issue #12237)。
环境排查
- 确认是否在
langchain/libs/langchain目录下运行poetry install。 - 确认 Poetry 环境是否干净,无缓存的坏包。
- 确认 Python 版本与项目要求的 Python 版本一致。
解决步骤
- 在终端中手动安装缺失的依赖包:
python -m pip install rapidfuzzpython -m pip install filelockpython -m pip install msgpackpython -m pip install build
(根据 Issue 中社区成员报告的实际解决方案) - 或者,尝试清除 Poetry 缓存后重新安装:
poetry cache clear . --all然后poetry install。
验证方法
运行任意测试命令(如 make test)或导入 LangChain 相关模块,检查是否不再出现 ModuleNotFoundError: No module named 'rapidfuzz' 报错。
参考来源
langchain-ai/langchain #12165(详见评论中关于依赖安装问题的讨论及解决方案)



