Django-安装mysqlclient错误:需要mysqlclient 1.3.13或更新版本;你有0.9.3
我已经搜索了论坛,但找不到答案,甚至找不到任何关于这个的文档。尝试重新创建类似www.testandtrack.io的网站 运行命令时:Django-安装mysqlclient错误:需要mysqlclient 1.3.13或更新版本;你有0.9.3,mysql,django,version,Mysql,Django,Version,我已经搜索了论坛,但找不到答案,甚至找不到任何关于这个的文档。尝试重新创建类似www.testandtrack.io的网站 运行命令时: python manage.py inspectdb 我得到错误: mysqlclient 1.3.13 or newer is required; you have 0.9.3 我尝试了所有建议的修复方法,包括: -升级pip -使用命令pip install mysqlclient-1.4.2-cp37-cp37m-win32.whl安装一个不同的控制
python manage.py inspectdb
我得到错误:
mysqlclient 1.3.13 or newer is required; you have 0.9.3
我尝试了所有建议的修复方法,包括:
-升级pip
-使用命令pip install mysqlclient-1.4.2-cp37-cp37m-win32.whl安装一个不同的控制盘(32位而不是64位)(这可以正常工作,没有错误,但不能完成所需的工作!)
我的目标是简单地将一个遗留的mysql数据库(运行在XAMPP和myphpadmin内部)连接到Django。我遵循的文档忽略了安装mysqlclient的必要性,因此在这一点上陷入了困境
cd下载
)pip Install
警告!!您不能编辑下载的.whl文件的名称。它包含一些安装所需的信息。我就是这样修复的 转到您的django/db/backends/mysql安装目录。 检查错误消息中的路径 我正在使用pipenv,因此我的路径是:
/home/username/.local/share/virtualenvs/project env/lib/python3.7/site-packages/django/db/backends/mysql 如果您使用传统环境,您的路径将是: /Lib/site-packages/django/db/base.py 打开文件base.py并搜索:
version = Database.version_info
query = query.decode(errors='replace')
在if和注释行中放置一个通行证:
raise配置不当('需要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__
)
'''
并将解码更改为编码
query = query.encode(errors='replace')
现在,尝试运行服务器
@编辑
在得到这个答案之前,我没有找到其他解决办法。今天有更好的方法来解决这个问题。这有一个更好的方法。我遇到了与安装mysqlclient较低版本相同的问题,原因是pymysql 操作系统:Linux Mint 19.1 Python:3.6.8 Django:2.2.2
pip3卸载mysqlclient
pip3卸载pymysql
pip3安装mysqlclient
我也有类似的问题,我越来越 “django.core.exceptions.impropertlyconfigured:需要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):
如果版本<(1,3,13):
到
如果版本<(1,3,10):
这是一个比我的版本小的版本,它可以工作。请尝试升级mysqlclient的版本,而不是编辑内部配置
pip3 install -U mysqlclient
如果它对您不重要,作为一个变体,只需将您的
django框架
从2.2.2
(例如)降级到2.1
默认设置下,在pycharm中创建django项目时会出现此问题。
这是因为django的默认版本是2.2.6,所以只需将django版本降级到2.1.7,终端中的错误就消失了
pip install Django==2.1.7
就这些 github上也存在同样的问题。完全适合我的解决方案是 我只是引用一位作者的话: 我首先pip卸载pymysql(因为它似乎不再工作了) 然后我使用pip安装mysqlclient
> python3 -m pip install mysqlclient==1.4.6
最后,我检查了我所有的“pymysql”导入并删除了它们
一定要在链接中的评论上点击like按钮我猜您的项目使用的是pymysql而不是mysqlclient 您可以尝试在项目中搜索以下代码段。如果找到,请尝试以下方法解决此问题:
import pymysql
pymysql.install_as_MySQLdb()
在这两者之间插入一行代码,使其如下所示:
import pymysql
pymysql.version_info = (1, 3, 13, "final", 0)
pymysql.install_as_MySQLdb()
然后试着开始你的项目
- 为什么我知道你在使用pymysql?因为0.9.3只是pymysql的最新版本
- 为什么在项目中使用pymysql而不是mysqlclient?因为它更容易安装。pymysql不依赖于系统库,而mysqlclient依赖于一系列系统库,如libmysqlclient-dev
- 为什么mysqlclient很难安装,而Django在默认情况下仍然使用它?因为mysqlclient更快,性能更好。因此,如果您的项目有高性能要求,我建议您删除上面的兼容代码,并在项目中安装mysqlclient。如果您在安装mysqlclient期间需要帮助,请参阅以下链接:,并确保在安装mysqlclient之前已安装了
libssl dev
> sudo apt-get install libpython3.7-dev
步骤2:安装mysqlclient
> python3 -m pip install mysqlclient==1.4.6
以下解决方案在Django 3.2.3中工作,以摆脱“需要mysqlclient 1.3.13或更新版本”;您有0.9.3'问题:
1)pip卸载mysqlclient#删除旧版本
2) pip安装mysqlclient==1.3.13
3) 注释或删除主应用程序的_init _uuuuuy.py中的旧解决方法。
#解决方法django.core.exceptions.invropertlyconfigured:
#加载MySQLdb模块时出错。
#你安装了mysqlclient吗?
#导入pymysql
#pymysql.install_as_MySQLdb()
如果您在ubuntu上使用Django,我建议您执行以下操作来解决问题,而不是编辑Django特定的配置文件
在终端中运行以下命令
import pymysql
pymysql.version_info = (1, 4, 6, 'final', 0)
pymysql.install_as_MySQLdb()
C:\Users\user\.virtualenvs\RPA-Orchestrator-Backend-GwIL98hN\Lib\site-packages\django\db\backends\mysql\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__)