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

如何在AWS Chalice部署中引入python mysql.connector并解决导入错误?

解决Chalice部署Lambda时mysql.connector导入失败的问题

我之前部署Chalice应用到Lambda时也踩过这个坑,给你几个亲测有效的解决步骤:

1. 先修正requirements.txt里的包名

你现在写的mysql_connector==2.1.6是错误的!对应mysql.connector模块的正确PyPI包名是mysql-connector-python,而且2.1.6版本太老旧了,大概率和Lambda的Python运行时不兼容。把requirements.txt改成:

mysql-connector-python==8.0.33

(这个版本是目前的稳定版,适配大部分Lambda Python运行时)

2. 强制让Chalice正确打包依赖

有时候本地安装的依赖没有被Chalice正确打包到部署包,你可以手动指定安装目录到Chalice的vendor文件夹:

  • 先删除本地已有的依赖文件夹(比如.chalice/vendor)
  • 执行命令重新安装依赖:
    pip install -r requirements.txt -t .chalice/vendor
    
  • 再重新部署:
    chalice deploy
    
    这样Chalice会把vendor文件夹里的所有依赖一起打包上传到Lambda,确保mysql.connector模块被包含进去。

3. 确认Python版本匹配

Lambda的运行时Python版本必须和你本地开发以及Chalice配置的版本一致。比如你本地用Python 3.9,Lambda也要设置成Python 3.9。你可以在.chalice/config.json里查看或修改:

{
  "stages": {
    "dev": {
      "lambda_runtime": "python3.9"
    }
  }
}

版本不匹配的话,依赖可能会因为字节码不兼容无法导入。

4. 排查依赖冲突

如果上面的步骤都没用,你可以先创建一个极简测试项目:只保留app.py(里面只写导入mysql.connector的代码)和正确的requirements.txt,部署后测试。如果没问题,再逐步添加原来的其他依赖,找到可能导致冲突的包。


内容的提问来源于stack exchange,提问作者S.Schedel

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 03:50:03