AWS Lambda函数中无法导入Python库Tweepy的问题求助
解决AWS Lambda导入Tweepy失败的问题
核心问题:Lambda层目录结构不符合要求
你的层压缩包存在冗余目录层级,Lambda无法识别python310/lib这类嵌套路径下的依赖包。Lambda对Python层的要求是:所有第三方包必须直接放在python/site-packages/目录下,不需要额外的版本号文件夹或lib文件夹。
修复步骤
调整层的目录结构
重新整理依赖包,最终的zip包结构需如下:tweepylayer.zip └───python └───site-packages ├── certifi ├── charset_normalizer ├── idna ├── oauthlib ├── requests ├── requests_oauthlib ├── tweepy └── urllib3操作细节:
- 创建空的
python/site-packages文件夹层级 - 将所有依赖包(tweepy、requests等)移动到
site-packages目录下 - 直接压缩
python文件夹生成zip包(注意不要把python文件夹放在父目录中再压缩)
- 创建空的
重新上传Lambda层
删除原有的层版本,上传调整后的zip包作为新层版本,再将该层关联到你的Lambda函数。验证运行时版本匹配
确保Lambda函数使用的Python运行时版本(如Python 3.10)和你安装依赖包时的Python版本完全一致,版本不匹配也可能导致导入失败。额外检查(可选)
代码中直接通过open('quotes.txt')读取文件,需确保该文件已包含在Lambda函数的部署包根目录中;如果放在层里,需要调整读取路径。
测试验证
重新部署函数后再次测试,应该能成功导入tweepy并执行后续逻辑。
内容的提问来源于stack exchange,提问作者Jack
相关产品推荐
相关产品推荐

