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

Python Flask+MySQL应用本地运行正常,部署AWS Elastic Beanstalk失败

问题根因

报错的核心原因是mysqlclient包编译安装需要依赖Linux系统层面的MySQL开发工具包,Elastic Beanstalk默认的Python运行环境未预装该依赖,导致安装过程中找不到mysql_config命令而失败。你在Windows本地可以正常安装是因为Windows平台下mysqlclient有预编译好的二进制安装包,无需依赖本地系统的MySQL开发工具。

解决方案(二选一即可,均无需手动执行Linux命令)
  • 方案1:替换数据库驱动(优先推荐,操作最简)
    你的requirements.txt中已包含纯Python实现的MySQL驱动PyMySQL==1.0.2,无需编译系统依赖即可使用,可直接替代mysqlclient:
    1. 编辑requirements.txt,删除mysqlclient==2.0.3,同时删除仅Windows系统需要的pypiwin32==223、pywin32==301,也可删除仅本地使用的awsebcli==3.20.2,减少不必要的依赖
    2. 在Flask应用的入口文件(通常为app.py或项目根目录的__init__.py)的最开头添加两行代码:
    import pymysql
    pymysql.install_as_MySQLdb()
    
    1. 原有数据库连接配置无需修改,重新执行eb create即可正常部署。
  • 方案2:保留mysqlclient,通过EB配置自动安装系统依赖
    如果你需要保留mysqlclient驱动,可通过Elastic Beanstalk的配置文件自动安装所需系统依赖,无需手动操作服务器:
    1. 在本地项目根目录下新建名为.ebextensions的文件夹
    2. 在该文件夹内新建名为mysql.config的文件,写入以下内容:
    packages:
      yum:
        mariadb-devel: []
    
    1. 保存配置后重新执行eb create,EB会在部署前自动安装编译mysqlclient所需的依赖,后续安装流程就可以正常完成。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 03:45:03