我已经拖曳了论坛,但是找不到答案,甚至找不到任何文档。
在运行命令时:
python manage.py inspectdb
我收到错误:
mysqlclient 1.3.13 or newer is required; you have 0.9.3
我尝试了所有建议的修复程序,包括: -升级点 -使用命令pip安装另一个轮子(32位而不是64位),即mysqlclient-1.4.2-cp37-cp37m-win32.whl(安装mysqlclient-1.4.2-cp37-cp37m-win32.whl)(错误,但没有完成所需的工作!)
我的目标是简单地将旧版mysql数据库(在XAMPP和myphpadmin中运行)连接到Django。我遵循的文档遗漏了安装mysqlclient的需要,并且此刻被卡住了。
答案 0 :(得分:5)
这就是我修复它的方式。
转到django / db / backends / mysql安装目录。 在错误消息中检查您的路径。
我正在使用pipenv,因此我的路径是:
/home/username/.local/share/virtualenvs/project-env/lib/python3.7/site-packages/django/db/backends/mysql
打开文件base.py并搜索:
version = Database.version_info
在if和注释行内放入通过:
raise ImproperlyConfigured('mysqlclient 1.3.13或更高版本; 你有%s。 %数据库。版本)
喜欢这个。
if version < (1, 3, 13):
pass
'''
raise ImproperlyConfigured(
'mysqlclient 1.3.13 or newer is required; you have %s.'
% Database.__version__
)
'''
保存,关闭此文件并打开operations.py。
搜索:
query = query.decode(errors='replace')
并更改解码以进行编码
query = query.encode(errors='replace')
现在,尝试运行服务器。
答案 1 :(得分:3)
默认设置下在pycharm中创建Django项目时,会出现此问题。 这是由django的默认版本2.2.6引起的,因此只需将django版本降级到2.1.7,然后终端中的错误就消失了。
pip install Django==2.1.7
仅此而已!
答案 2 :(得分:2)
由于 pymysql ,我遇到了与较低版本的mysqlclient相同的问题。
操作系统: Linux Mint 19.1
Python: 3.6.8
Django: 2.2.2
pip3 uninstall mysqlclient
pip3 uninstall pymysql
pip3 install mysqlclient
答案 3 :(得分:1)
它对我来说很好用,只需打开 settings.py 并包含
import pymysql
pymysql.version_info = (1, 4, 6, 'final', 0)
pymysql.install_as_MySQLdb()
答案 4 :(得分:0)
我遇到了类似的问题,我正在得到
“ django.core.exceptions.ImproperlyConfigured:需要mysqlclient 1.3.13或更高版本;您有1.3.12。”
所以我去了C:\Users\username\Envs\env\Lib\site-packages\django\db\backends\mysql
,打开 base.py 并更改了该行...
if version < (1, 3, 13):
到...
if version < (1, 3, 10):
这是比我小的版本,并且有效。
答案 5 :(得分:0)
请尝试升级mysqlclient的版本,而不是编辑内部配置
pip3 install -U mysqlclient
答案 6 :(得分:0)
如果对您来说并不重要,则可以将django framework
从2.2.2
(例如)降级为2.1
。
答案 7 :(得分:0)
很长一段时间以来,我一直在寻找解决方案。我使用的是Ubuntu 18.04,发现此解决方案对python 3.7.5版很有用
步骤1.通过sudo apt-get install安装libpython3.7-dev
> sudo apt-get install libpython3.7-dev
第2步:安装mysqlclient
> python3 -m pip install mysqlclient==1.4.6
答案 8 :(得分:0)
以下解决方案在Django 3.2.3中有效,以摆脱'mysqlclient 1.3.13或更高版本;您有0.9.3'问题:
1) pip uninstall mysqlclient # remove old version
2) pip install mysqlclient==1.3.13
3) comment or remove the old workaround in __init__.py of the main app.
# workaround django.core.exceptions.ImproperlyConfigured:
#Error loading MySQLdb module.
#Did you install mysqlclient?
#import pymysql
#pymysql.install_as_MySQLdb()
答案 9 :(得分:0)
如果您在ubuntu上使用Django,我建议您执行以下操作来解决此问题,而不是编辑Django特定的配置文件
在终端中运行以下命令
sudo apt-get install python3-dev default-libmysqlclient-dev build-essential
pip安装mysqlclient
答案 10 :(得分:0)
转到像我一样的虚拟环境目录:
C:\Users\user\.virtualenvs\RPA-Orchestrator-Backend-GwIL98hN\Lib\site-packages\django\db\backends\mysql\base.py
在这里您可以编辑一行以避免在 base.py 文件中出现错误,
version = Database.version_info
if version < (0, 9, 3):
raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.__version__)
那么你的问题可能会解决。
答案 11 :(得分:-1)
安装轮:
pip安装轮
从此处下载所需的文件:https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python
移动到您的下载目录(我想它将是cd Downloads
)
pip install <file name>
警告!!您不能编辑下载的.whl文件的名称。它包含一些安装所需的信息。
答案 12 :(得分:-1)
github上有相同的问题。 here是最适合我的解决方案。
我只引用作者:
我首先通过pip卸载pymysql(因为它似乎不再起作用)
然后我用pip install mysqlclient
最后,我检查了所有“ pymysql”导入并将其删除。
请务必点击链接中的评论并点击“赞”按钮