你安装了mysqlclient吗?

Mar*_*olf 5 python django mysql-python

我已经阅读了每一篇文章,并在过去的 4 个小时里用谷歌搜索,试图找到解决这个错误的方法。

我没有运行虚拟环境,该服务器仅用于 django。
服务器:Ubuntu 16.04
蟒蛇:3.5.2

我收到此错误

django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module.
Did you install mysqlclient?
Run Code Online (Sandbox Code Playgroud)

尝试安装 mysqlclient

sudo -H pip3 install mysqlclient
Requirement already satisfied: mysqlclient in /usr/local/lib/python3.5/dist-packages (1.3.12)
Run Code Online (Sandbox Code Playgroud)

使用 ubuntu

sudo apt-get install -y python3-mysqldb
Reading package lists... Done
Building dependency tree
Reading state information... Done
python3-mysqldb is already the newest version (1.3.7-1build2).
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
Run Code Online (Sandbox Code Playgroud)

任何帮助是极大的赞赏

Sub*_*der 12

MySQL 客户端未正确安装。为此,该模块没有找到。那么为什么它返回此错误消息。波纹管我的实际代码,我解决了这个问题。希望你的。

转到您的命令终端并键入 [基于操作系统(Windows、Mac Os、Linux)]

你可以升级 setuptools 包如果没有更新

pip install --upgrade setuptools
Run Code Online (Sandbox Code Playgroud)

然后安装python mysql

pip install pymysql
Run Code Online (Sandbox Code Playgroud)

然后编辑项目根目录中的init .py 文件(settings.py 文件所在的位置)

import pymysql
pymysql.install_as_MySQLdb()
Run Code Online (Sandbox Code Playgroud)

编辑根目录下的 settings.py 文件:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'database name',
        'USER': 'username',
        'PASSWORD': 'password',
        'HOST': '127.0.0.1',  // If localhost
        'PORT': '3306',  // your database running port
    }
}
Run Code Online (Sandbox Code Playgroud)

就是这样。我希望,我能帮到你。如果有任何问题,请评论我。


小智 5

有时你在尝试安装 mysqlclient 时遇到此类型错误

  ERROR: Command errored out with exit status 1:
 command: /home/alen/Desktop/django_admin/admindashboard/bin/python3 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-0_fdpfs5/mysqlclient/setup.py'"'"'; __file__='"'"'/tmp/pip-install-0_fdpfs5/mysqlclient/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-install-0_fdpfs5/mysqlclient/pip-egg-info
     cwd: /tmp/pip-install-0_fdpfs5/mysqlclient/
Complete output (12 lines):
/bin/sh: 1: mysql_config: not found
/bin/sh: 1: mariadb_config: not found
/bin/sh: 1: mysql_config: not found
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/tmp/pip-install-0_fdpfs5/mysqlclient/setup.py", line 15, in <module>
    metadata, options = get_config()
  File "/tmp/pip-install-0_fdpfs5/mysqlclient/setup_posix.py", line 65, in get_config
    libs = mysql_config("libs")
  File "/tmp/pip-install-0_fdpfs5/mysqlclient/setup_posix.py", line 31, in mysql_config
    raise OSError("{} not found".format(_mysql_config_path))
OSError: mysql_config not found
----------------------------------------ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
Run Code Online (Sandbox Code Playgroud)

您安装了 pymysql 但没有任何效果,请尝试以下命令

     sudo apt-get install python3-dev default-libmysqlclient-dev build-essential #for debin
Run Code Online (Sandbox Code Playgroud)

安装后然后运行

 pip install mysqlclient
Run Code Online (Sandbox Code Playgroud)


小智 5

我遇到了同样的问题,这是一个快速简便的解决方案:

sudo apt-get install libmysqlclient-dev
Run Code Online (Sandbox Code Playgroud)