Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django-安装mysqlclient错误:需要mysqlclient 1.3.13或更新版本;你有0.9.3_Mysql_Django_Version - Fatal编程技术网

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

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安装一个不同的控制

我已经搜索了论坛,但找不到答案,甚至找不到任何关于这个的文档。尝试重新创建类似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安装一个不同的控制盘(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

  • 卸载mysqlclient:
    pip3卸载mysqlclient
  • 卸载pymysql:
    pip3卸载pymysql
  • 安装mysqlclient:
    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

    很久以来,我一直在为这个问题寻找解决方案。我使用的是Ubuntu18.04,发现这个解决方案对python版本3.7.5很有用

    第一步。通过sudo apt get Install安装libpython3.7-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__)