Django-安装mysqlclient错误:需要mysqlclient 1.3.13或更高版本;你有0.9.3

时间:2019-04-12 18:39:47

标签: mysql django version

我已经拖曳了论坛,但是找不到答案,甚至找不到任何文档。

在运行命令时:

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的需要,并且此刻被卡住了。

13 个答案:

答案 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

  1. 卸载mysqlclient:pip3 uninstall mysqlclient
  2. 卸载pymysql:pip3 uninstall pymysql
  3. 安装mysqlclient: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 framework2.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特定的配置文件

在终端中运行以下命令

  1. sudo apt-get install python3-dev default-libmysqlclient-dev build-essential

  2. 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)

  1. 安装轮:

    pip安装轮

  2. 从此处下载所需的文件:https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python

  3. 移动到您的下载目录(我想它将是cd Downloads

  4. 使用pip install <file name>
  5. 安装下载的文件

警告!!您不能编辑下载的.whl文件的名称。它包含一些安装所需的信息。

答案 12 :(得分:-1)

github上有相同的问题。 here是最适合我的解决方案。

我只引用作者:

  

我首先通过pip卸载pymysql(因为它似乎不再起作用)

     

然后我用pip install mysqlclient

     

最后,我检查了所有“ pymysql”导入并将其删除。

请务必点击链接中的评论并点击“赞”按钮