You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS Lambda执行Python函数时出现mysql.connector模块导入错误

解决AWS Lambda中Python函数无法找到mysql.connector模块的问题

我处理过不少这类Lambda依赖缺失的问题,你这个报错的核心原因很明确:你上传到Lambda的只有单个Python代码文件,而没有把通过pip install -t安装到代码目录里的mysql-connector依赖包一起打包上传。Lambda的默认执行环境里并不包含这个第三方库,必须把代码和所有依赖文件打包成一个完整的zip包才能让函数正常导入模块。

下面是一步步的解决步骤:

  • 第一步:确认依赖已正确安装到代码目录
    先回到你的EC2实例,进入/path/to/file/dir目录,检查里面是否存在mysql文件夹、mysql_connector_python-*.dist-info这类文件。如果有,说明你之前的pip install mysql-connector -t /path/to/file/dir命令已经把依赖正确安装到了代码目录;如果没有,重新执行一遍安装命令确保依赖到位。

  • 第二步:打包整个目录的所有内容(这是关键!)
    不要只打包你的单个.py代码文件,要把代码目录下的所有文件和子文件夹一起打包:

    1. 先进入代码目录:
      cd /path/to/file/dir
      
    2. 执行递归打包命令,把当前目录下的所有内容打包成zip文件:
      zip -r lambda_package.zip .
      
      这里的.代表当前目录下的所有内容,-r参数会递归打包所有子文件夹,这样你的Python代码和mysql.connector的依赖文件就都会被包含到zip包里了。
  • 第三步:上传完整的zip包到Lambda
    登录AWS控制台,找到你的Lambda函数,在「代码」页面选择「上传从」→「上传.zip文件」,选择刚才生成的lambda_package.zip。上传完成后,再次触发函数测试,应该就能成功导入mysql.connector模块了。

额外小提示:如果你的EC2实例架构(比如x86_64)和Lambda使用的执行环境架构(比如arm64)不一致,可能会出现依赖兼容性问题。这种情况下,建议你在与Lambda同架构的环境中安装依赖(比如使用对应架构的EC2实例、Cloud9环境),或者使用Lambda层来统一管理第三方依赖,这样后续更新依赖也更方便。

内容的提问来源于stack exchange,提问作者FCoding

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:29:52