我已阅读了每一篇帖子,并在过去4个小时内用Google搜索了一下,以寻求解决此错误的方法。
我没有运行虚拟环境,该服务器仅用于django。
服务器:Ubuntu 16.04
python:3.5.2
我收到此错误
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module.
Did you install mysqlclient?
尝试安装mysqlclient
sudo -H pip3 install mysqlclient
Requirement already satisfied: mysqlclient in /usr/local/lib/python3.5/dist-packages (1.3.12)
使用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.
非常感谢您的帮助
答案 0 :(得分:3)
我遇到了同样的问题,这是一个快速简便的解决方案:
sudo apt-get install libmysqlclient-dev
答案 1 :(得分:1)
MySQL客户端未正确安装。为此,找不到该模块。那么为什么它返回此错误消息。在下面的实际代码中,我解决了这个问题。希望可能是你。
转到命令终端,然后键入[基于操作系统(Windows,Mac OS,Linux)]
您可以升级setuptools软件包(如果未更新)
pip install --upgrade setuptools
然后安装python mysql
pip install pymysql
然后在项目根目录(位于settings.py文件所在的位置)中编辑 init .py文件
import pymysql
pymysql.install_as_MySQLdb()
在根目录下编辑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
}
}
就是这样。希望我能对您有所帮助。如有任何问题,请给我评论。
答案 2 :(得分:1)
有时您在尝试安装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.
您安装了pymysql,但没有效果,然后请尝试以下命令
sudo apt-get install python3-dev default-libmysqlclient-dev build-essential #for debin
安装后,然后运行
pip install mysqlclient
答案 3 :(得分:0)
我做了一个虚拟环境,现在一切正常。
感谢您将我推向这个方向!
我确实发现这是安装枕头的事实。 “ pip3卸载枕头”修复了原来的一个。
答案 4 :(得分:0)
这是非常虚拟的,但这对我有用! 我用了virtualenv。 创建一个.venv文件并激活它。绝对安装其中的每个软件包。 但随后我停用了virtualenv并将mysqlclient直接安装到操作系统中。 现在工作正常。我不知道为什么python,django无法从virtualenv环境中找到mysqlclient。