py3 与 Django 连接数据库: No module named 'MySQLdb'
问题
在使用 Django 连接 MySQL 数据库的时候,出现了错误
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named 'MySQLdb'
解决
在 python2 中,使用 pip install mysql-python
进行安装连接MySQL的库,使用时 import MySQLdb
进行使用
在 python3 中,改变了连接库,改为了 pymysql 库,使用pip install pymysql
进行安装,直接导入import pymysql
使用
本来在上面的基础上把 python3 的 pymysql 库安装上去就行了,但是问题依旧
经过查阅得知, Django 依旧是使用 py2 的 MySQLdb 库的,得到进行适当的转换才行
在__init__.py
文件中添加以下代码
import pymysql
pymysql.install_as_MySQLdb()
额,找了一下却没有找到 install_as_MySQLdb() 这个方法的源码,不过顾名思义应该是让 Django 把 pymysql 当成 MySQLdb 来使用吧