Lambda层含Pandas(numpy)引发依赖导入错误求助
错误原因分析
这个错误的核心是Lambda层中numpy的打包方式不符合要求,具体原因如下:
- 你大概率是直接将numpy的源码目录复制到了层的
site-packages路径下,而非通过pip install命令将numpy正式安装到指定目录后再打包。numpy的源码目录中包含特殊的检测逻辑(比如校验是否在源码树中运行),当Python从这类目录导入时,就会触发该错误。 - 另一种可能是打包层时目录结构有误:虽然你能看到
python/lib/python3.11/site-packages/numpy,但可能压缩包中存在多余的层级,或者误将包含numpy源码根目录的文件夹放到了site-packages下,导致Python解析导入路径时判定处于numpy源码树内。
正确的打包方式参考
正确的Python Lambda层打包流程应该是:
- 创建空的
python/lib/python3.11/site-packages/目录结构(对应你的Python版本) - 执行
pip install numpy pandas -t python/lib/python3.11/site-packages/,将依赖安装到该目录 - 将整个
python文件夹压缩为zip包,上传作为Lambda层
内容的提问来源于stack exchange,提问作者Ewan
相关产品推荐
相关产品推荐

