Mac下Django连接MySQL时安装MySQL-python报错求助
解决Mac下Python3安装MySQL-python报错的问题
问题原因
你执行pip3 install MySQL-python报错的核心原因是:MySQL-python是仅支持Python 2的老旧库,完全不兼容Python 3环境。错误里的ModuleNotFoundError: No module named 'ConfigParser'就是因为Python 3将该模块重命名为了小写的configparser,而MySQL-python的代码还在引用Python 2的旧模块名。
解决方案
直接放弃MySQL-python,改用Python 3兼容的MySQL驱动,推荐以下两种方案:
方案1:使用Django官方推荐的mysqlclient
这是Django官方文档指定的MySQL驱动,兼容性最好:
- 先通过Homebrew安装依赖(未安装Homebrew需先完成安装):
brew install mysql-client - 设置环境变量让pip能找到MySQL的头文件:
export PATH="/usr/local/opt/mysql-client/bin:$PATH" - 安装mysqlclient:
pip3 install mysqlclient
方案2:使用pymysql(纯Python实现,无需编译依赖)
如果安装mysqlclient遇到编译问题,可以试试这个:
- 安装pymysql:
pip3 install pymysql - 在Django项目根目录的
__init__.py文件中添加以下代码,让Django将pymysql模拟为MySQLdb:import pymysql pymysql.install_as_MySQLdb()
后续配置
安装完成后,在Django的settings.py中配置MySQL数据库即可:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': '你的数据库名', 'USER': '数据库用户名', 'PASSWORD': '数据库密码', 'HOST': 'localhost', 'PORT': '3306', } }
内容的提问来源于stack exchange,提问作者user3282758
相关产品推荐
相关产品推荐

