我使用的是Python 2.5.4版本,安装MySQL 5.0版本和Django。Django和Python配合得很好,但MySQL不行。我在Windows Vista中使用它。
当前回答
注意,这没有针对python 3.x进行测试
在CMD
pip install wheel
pip install pymysql
在settings.py
import pymysql
pymysql.install_as_MySQLdb()
这对我很有效
其他回答
mysqldb是Python的一个模块,它不是预先安装的,也不是Django自带的。你可以在这里下载mysqldb。
在mac上的mysql.connector.python 8.0.24版本中遇到过这个问题(如果代码基相同,那么在windows中也应该会出现这个问题)。这个文件在51行导入了“from django.db.backends.mysql.base import DatabaseWrapper as MySQLDatabaseWrapper”。导入的文件具有以下代码14-20(您收到的确切代码和错误是代码的一部分
try:
import MySQLdb as Database
except ImportError as err:
raise ImproperlyConfigured(
'Error loading MySQLdb module.\n'
'Did you install mysqlclient?'
) from err
误差在这里形成。不知道为什么这个导入会在不同版本的mysql连接器中返回,但8.0.23没有导入,所以我恢复到那个版本,错误消失了…这是在你希望继续使用mysql.connector.python的情况下
我在窗户下遇到了同样的情况,并寻找解决方案。
参见这篇文章安装mysql-python (Windows)。
它指出安装这样的pip环境是困难的,需要许多其他依赖项。
但我终于知道,如果我们使用mysqlclient版本低于1.3.4,它不再需要这些要求,所以尝试:
pip install mysqlclient==1.3.4
在我的mac上运行Catalina v10.15.2,我有以下MySQLdb版本冲突:
ImportError: this is MySQLdb version (1, 2, 5, 'final', 1), but _mysql is version (1, 4, 6, 'final', 0)
为了解决这个问题,我做了以下事情:
pip uninstall MySQL-python
pip install MySQL-python
Python 3
确定进口顺序:
#BAD
import MySQLdb # <------ NOT here
import pymysql
pymysql.install_as_MySQLdb()
#GOOD
import pymysql
pymysql.install_as_MySQLdb()
import MySQLdb # <------- HERE!