mysql连接器/mysqlclient和django问题

f1tvaqid  于 2021-06-17  发布在  Mysql
关注(0)|答案(2)|浏览(307)

我已安装 mysql connector ,它已经有一个内置的sql适配器,我也不需要安装 mysqlclient 因为我有mysql连接器。但当我启动python manage.py migrate时,它要求我下载mysqlclient。但我不能安装 mysqlclient . 谁能帮我解决这个问题吗。谢谢
错误:

File "C:\Program Files (x86)\Python37-32\lib\site-packages\django\db\models\base.py", line 101, in __new__
    new_class.add_to_class('_meta', Options(meta, app_label))
  File "C:\Program Files (x86)\Python37-32\lib\site-packages\django\db\models\base.py", line 305, in add_to_class
    value.contribute_to_class(cls, name)
  File "C:\Program Files (x86)\Python37-32\lib\site-packages\django\db\models\options.py", line 203, in contribute_to_class
    self.db_table = truncate_name(self.db_table, connection.ops.max_name_length())
  File "C:\Program Files (x86)\Python37-32\lib\site-packages\django\db\__init__.py", line 33, in __getattr__
    return getattr(connections[DEFAULT_DB_ALIAS], item)
  File "C:\Program Files (x86)\Python37-32\lib\site-packages\django\db\utils.py", line 202, in __getitem__
    backend = load_backend(db['ENGINE'])
  File "C:\Program Files (x86)\Python37-32\lib\site-packages\django\db\utils.py", line 110, in load_backend
    return import_module('%s.base' % backend_name)
  File "C:\Program Files (x86)\Python37-32\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "C:\Program Files (x86)\Python37-32\lib\site-packages\django\db\backends\mysql\base.py", line 20, in <module>
    ) from err
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module.
Did you install mysqlclient?
5ktev3wc

5ktev3wc1#

也许您需要安装mysql-connector-c connector,然后:

pip install mysqlclient==1.3.13
ssm49v7z

ssm49v7z2#

在python中使用mysql有两个后端
mysqlclient-由文档推荐,但在windows上安装可能很棘手
mysql连接器-并不总是支持最新的django版本。
首先,您需要决定要使用哪个后端。
如果你想使用mysql连接器,那么你不需要安装 mysqlclient . 你确实需要改变 ENGINES 在你的 DATABASES 设置为使用连接器后端。

DATABASES = {
    'default': {
        'NAME': 'user_data',
        'ENGINE': 'mysql.connector.django',
        ...
    },
    ...
}

如果您进行了此更改,它将停止“您是否安装了mysqlclient”错误消息。有关使用mysql连接器的更多信息,请参阅文档。
如果你想用 mysqlclient ,然后将发动机保持为 'django.db.backends.mysql' 在你的 DATABASES 设置。安装 mysqlclient 在windows上可能很棘手,您有几个不同的选项:
安装官方车轮。截至2018年12月,针对python3.6和python3.7的最新版本mysqlclient 1.3.14已经推出。安装mysqlclient时使用:

pip install mysqlclient==1.3.14

安装一个非官方车轮。这将允许您使用python3.7和mysqlclient的最新版本。
从源代码安装mysqlclient。这在windows上可能很棘手,我不能提供任何关于如何做到这一点的提示。

相关问题