我已经搜寻了论坛,但是找不到答案,甚至找不到任何文档。
运行命令时:
python manage.py inspectdb
我得到错误:
mysqlclient 1.3.13 or newer is required; you have 0.9.3
我已经尝试了所有建议的修复程序,包括:-升级pip-安装其他轮子(32位而不是64位),即使用命令pip install mysqlclient-1.4.2- mysqlclient-1.4.2-cp37-cp37m-win32.whl。 cp37-cp37m-win32.whl(这可以正常工作,没有错误,但不执行所需的工作!)
我的目标是仅将旧版mysql数据库(在XAMPP和myphpadmin内部运行)连接到Django。我遵循的文档遗漏了安装mysqlclient的需要,并且此刻已经陷入困境。
这就是我解决的方法。
转到你的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和注释行:
提高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')
现在,尝试运行服务器。