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

Amazon Linux2023(Python3.9)下Django及mysqlclient安装故障求助

解决Amazon Linux 2023 + Python3.9环境下Django无法加载MySQLdb模块的问题

问题原因

mysqlclient编译安装时依赖系统级的MySQL/MariaDB开发库、编译工具及配置检测工具,你的环境缺少这些依赖导致编译失败。

解决方案

方案一:安装系统依赖后编译mysqlclient

  1. 安装系统所需的编译依赖包
sudo dnf install -y mariadb-devel pkg-config gcc python39-devel
  • mariadb-devel:提供MySQL/MariaDB的头文件和库文件
  • pkg-config:用于检测系统库的配置信息
  • gcc:编译C扩展所需的编译器
  • python39-devel:Python3.9的开发头文件,用于编译Python扩展
  1. 安装mysqlclient
pip install mysqlclient

安装成功后重启Django服务即可正常连接数据库。

方案二:手动指定环境变量编译(方案一无效时使用)

如果安装依赖后仍提示找不到pkg-config配置,手动指定编译所需的环境变量:

  1. 获取MariaDB的编译参数
# 获取CFLAGS参数
export MYSQLCLIENT_CFLAGS=$(pkg-config --cflags libmariadb)
# 获取LDFLAGS参数
export MYSQLCLIENT_LDFLAGS=$(pkg-config --libs libmariadb)
  1. 安装mysqlclient
pip install mysqlclient

方案三:使用纯Python替代驱动(无需编译)

如果上述编译方式都无法解决,可使用纯Python实现的mysql-connector-python驱动:

  1. 安装驱动
pip install mysql-connector-python
  1. 修改Django配置文件settings.py中的数据库引擎:
DATABASES = {
    'default': {
        'ENGINE': 'mysql.connector.django',  # 替换原有的'django.db.backends.mysql'
        'NAME': 'your_database_name',
        'USER': 'your_db_user',
        'PASSWORD': 'your_db_password',
        'HOST': 'your_db_host',
        'PORT': '3306',
    }
}
  1. 重启Django服务即可生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 01:00:12