Mis*_*ing 18 mysql django version
我已经搜寻了论坛,但是找不到答案,甚至找不到任何文档。
运行命令时:
python manage.py inspectdb
Run Code Online (Sandbox Code Playgroud)
我收到错误:
mysqlclient 1.3.13 or newer is required; you have 0.9.3
Run Code Online (Sandbox Code Playgroud)
我已经尝试了所有建议的修复程序,包括:-升级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的需要,并且在这一点上遇到了麻烦。
Wis*_*hou 74
我猜你的项目使用 pymysql 而不是 mysqlclient。
您可以尝试在您的项目中搜索以下代码片段。如果找到,请尝试以下方法解决此问题:
import pymysql
pymysql.install_as_MySQLdb()
Run Code Online (Sandbox Code Playgroud)
在这两者之间插入一行代码,使其看起来像这样:
import pymysql
pymysql.version_info = (1, 3, 13, "final", 0)
pymysql.install_as_MySQLdb()
Run Code Online (Sandbox Code Playgroud)
然后尝试开始您的项目。
libssl-dev
之前已安装pip install mysqlclient
。Die*_*ães 38
This is how I fixed it.
Go to your django/db/backends/mysql installation dir. Check your path in the error message.
I'm using pipenv so my path is:
/home/username/.local/share/virtualenvs/project-env/lib/python3.7/site-packages/django/db/backends/mysql
Open file base.py and search for:
version = Database.version_info
Run Code Online (Sandbox Code Playgroud)
Put a pass inside if and comment line:
raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.version)
Like this.
if version < (1, 3, 13):
pass
'''
raise ImproperlyConfigured(
'mysqlclient 1.3.13 or newer is required; you have %s.'
% Database.__version__
)
'''
Run Code Online (Sandbox Code Playgroud)
Save, close this file and open operations.py.
Search for:
query = query.decode(errors='replace')
Run Code Online (Sandbox Code Playgroud)
and change decode to encode
query = query.encode(errors='replace')
Run Code Online (Sandbox Code Playgroud)
Now, try to run the server.
小智 8
由于pymysql安装了较低版本的 mysqlclient ,我遇到了同样的问题。
操作系统:Linux Mint 19.1
蟒蛇:3.6.8
姜戈:2.2.2
pip3 uninstall mysqlclient
pip3 uninstall pymysql
pip3 install mysqlclient
小智 6
默认情况下在pycharm中创建Django项目时会出现此问题。这是由于django的默认版本是2.2.6造成的,所以只需将django版本降级到2.1.7,终端错误就消失了。
pip install Django==2.1.7
Run Code Online (Sandbox Code Playgroud)
就这样!
小智 6
它对我来说工作得很好,只需打开 settings.py 并包含
import pymysql
pymysql.version_info = (1, 4, 6, 'final', 0)
pymysql.install_as_MySQLdb()
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
22511 次 |
最近记录: |