首页 > 解决方案 > Django - 安装 mysqlclient 错误:需要 mysqlclient 1.3.13 或更高版本;你有 0.9.3

问题描述

我搜索了论坛,但找不到答案,甚至找不到任何关于此的文档。试图重新创建一个像 www.testandtrack.io 这样的网站

在运行命令时:

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 使用命令 pip install mysqlclient-1.4.2- cp37-cp37m-win32.whl (这可以正常工作,没有错误,但不能完成所需的工作!)

我的目标是简单地将遗留的 mysql 数据库(在 XAMPP 和 myphpadmin 内部运行)连接到 Django。我遵循了错过安装 mysqlclient 需要的文档,并且在这一点上被卡住了。

标签: mysqldjangoversion

解决方案


我猜你的项目使用 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过程中需要帮助,请参考这个链接: How to install Python MySQLdb module using pip? ,并确保libssl-dev之前已安装pip install mysqlclient

推荐阅读