在AWS Lambda中解决CrewAI的base_tool模块导入错误
解决AWS Lambda中crewai-tools导入报错问题
问题原因
报错No module named 'crewai.tools.base_tool'是因为当前使用的crewai-tools==0.32.1内部依赖crewai的base_tool模块,但你安装的crewai==0.98.0中不存在该模块,属于版本不兼容问题。
解决方案
方案1:升级crewai到兼容版本
crewai-tools 0.32.x系列需要更高版本的crewai支持,建议将crewai升级到0.100.0及以上版本(与crewai-tools 0.32.1兼容):
pip install crewai==0.100.0 crewai-tools==0.32.1 --upgrade
重新打包依赖并部署到Lambda。
方案2:降级crewai-tools到兼容版本
如果不想升级crewai,可将crewai-tools降级到与crewai 0.98.0兼容的版本(比如0.28.0):
pip install crewai-tools==0.28.0 --force-reinstall
重新打包部署后,代码无需修改即可正常运行。
方案3:确保Lambda依赖打包完整
如果版本匹配但仍报错,检查Lambda的依赖打包是否完整:
- 在本地创建临时目录,执行以下命令安装依赖到该目录:
mkdir package pip install crewai==0.98.0 crewai-tools==0.32.1 -t ./package
- 将你的代码文件(如
app.py)复制到package目录下 - 压缩整个
package目录为zip文件,上传到Lambda函数
内容的提问来源于stack exchange,提问作者Kevin Ramlow
相关产品推荐
相关产品推荐

