首页 > 解决方案 > Django 2.0 - Python3.6 - CentOS 7 - MySQL 连接

问题描述

我尝试将我的网站安装在带有 Django 2.0.6 和 Python 3.6 的 CentOS 7 中的网络服务器上。

我安装了 : mysql-connector = 2.1.6, mysql-connector-python = 8.0.11, MySQL-python = 1.2.5, mysqlclient = 1.3.12, PyMySQL = 0.8.1

当我运行这个命令时:

python3.6 manage.py migrate

我有这个错误:

  File "MYPYTHONPATH/python3.6/site-packages/django/db/backends/mysql/base.py", line 36, in <module>
raise ImproperlyConfigured("mysqlclient 1.3.3 or newer is required; you have %s" % Database.__version__)
django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.3 or newer is required; you have 1.2.5

但在 base.py 文件中:

try:
   import MySQLdb as Database
except ImportError as err:
raise ImproperlyConfigured(
    'Error loading MySQLdb module.\n'
    'Did you install mysqlclient?'
) from err

from MySQLdb.constants import CLIENT, FIELD_TYPE                # isort:skip
from MySQLdb.converters import conversions                      # isort:skip

# Some of these import MySQLdb, so import them after checking if it's installed.
from .client import DatabaseClient                          # isort:skip
from .creation import DatabaseCreation                      # isort:skip
from .features import DatabaseFeatures                      # isort:skip
from .introspection import DatabaseIntrospection            # isort:skip
from .operations import DatabaseOperations                  # isort:skip
from .schema import DatabaseSchemaEditor                    # isort:skip
from .validation import DatabaseValidation                  # isort:skip

version = Database.version_info
if version < (1, 3, 3):
    raise ImproperlyConfigured("mysqlclient 1.3.3 or newer is required; you have %s" % Database.__version__)

我不明白我能做些什么来解决这种问题!我希望有人可以帮助我=)

标签: mysqldjangopython-3.xcentos7

解决方案


好的,我用这个线程的答案解决了它。

没有名为 MySQLdb 的模块

pip install PyMySQL

然后将这两行添加到您的 Project/Project/init.py

import pymysql
pymysql.install_as_MySQLdb()

适用于 WIN 和 python 3.3+


推荐阅读