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

Heroku部署Python Flask项目失败:缺失mariadb_config或MariaDB Connector/C

解决Heroku部署Flask项目时MariaDB Connector/C缺失的问题

方案1:通过Heroku Buildpack自动安装依赖

Heroku默认环境未预装MariaDB Connector/C,添加官方buildpack可自动处理依赖:

  • 执行命令添加buildpack:
    heroku buildpacks:add https://github.com/heroku/heroku-buildpack-mariadb
    
  • 重新推送代码到Heroku,buildpack会自动安装mariadb_config及相关组件。

方案2:改用纯Python驱动(无需系统依赖)

若不想依赖系统级组件,替换为纯Python实现的MariaDB驱动:

  1. 修改requirements.txt,替换原有MariaDB依赖:
    # 纯Python版mariadb连接器
    mariadb-connector-python[pure]
    # 或用兼容的pymysql
    # pymysql
    
  2. 若使用pymysql且搭配SQLAlchemy,需在项目初始化代码中添加兼容配置:
    import pymysql
    pymysql.install_as_MySQLdb()
    
  3. 重新推送代码即可,无需额外安装系统依赖。

方案3:手动指定mariadb_config路径(已安装依赖时)

若已通过其他方式安装Connector/C但路径未被识别,在Heroku中设置环境变量:

heroku config:set MARIADB_CONFIG=/app/.mariadb/bin/mariadb_config

路径需根据实际安装位置调整,上述为buildpack默认安装路径。

额外注意事项

  • 确保Ubuntu虚拟机的MariaDB允许远程连接:修改my.cnf(或mariadb.cnf)将bind-address设为0.0.0.0,并授权数据库用户GRANT ALL ON your_db.* TO 'your_user'@'%' IDENTIFIED BY 'your_password';。
  • 虚拟机防火墙需开放3306端口,确保Heroku服务器能访问到远程数据库。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 23:33:22