小能豆

在 Windows 11 中尝试安装 mysqlclient 时出现错误

py

我想在 Windows 11 机器上安装 pip install mysqlclient 以及 pip install mysql,我收到以下错误,我已经搜索过如何修复此错误,但没有成功,我该如何安装 mysqlclient?因为我想将我的 django 项目数据迁移到 mysql 数据库?

  "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD "-Dversion_info=(2, 2, 0, 'final', 0)" -D__version__=2.2.0 -IC:/mariadb-connector\include\mariadb -IC:/mariadb-connector\include "-IC:\Users\Jamshid\OneDrive\Documents\My Programming Practices\Python\Basic CRM Tool\dcrm\virt\include" -IC:\Python312\include -IC:\Python312\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\cppwinrt" /Tcsrc/MySQLdb/_mysql.c /Fobuild\temp.win-amd64-cpython-312\Release\src/MySQLdb/_mysql.obj
  _mysql.c
  src/MySQLdb/_mysql.c(29): fatal error C1083: Cannot open include file: 'mysql.h': No such file or directory
  error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.16.27023\\bin\\HostX86\\x64\\cl.exe' failed with exit code 2
  [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for mysqlclient
Failed to build mysqlclient
ERROR: Could not build wheels for mysqlclient, which is required to install pyproject.toml-based projects

阅读 6

收藏
2024-10-29

共1个答案

小能豆

您遇到的错误表明编译器找不到该mysql.h文件,该文件是 MySQL 或 MariaDB 开发库的一部分。这是在mysqlclientWindows 上安装时常见的问题,因为默认情况下不包含必要的库和头文件。以下是解决此问题的步骤:

1.安装 MySQL 或 MariaDB 开发文件

您需要 MySQL 或 MariaDB Connector C 开发文件。设置方法如下:

  1. 下载 MySQL Connector/C

  2. 转到MySQL Connector /C下载页面

  3. 选择适用于 Windows 的最新版本并安装。这将包括该mysql.h文件和其他必要文件。

或者,如果您有 MariaDB,则可以改用 MariaDB C 连接器:

  • 转到MariaDB C Connector下载页面。
  • 下载并安装适合 Windows 的版本。

  • 设置环境变量

  • 找到您的 MySQL 或 MariaDB Connector/C 的安装目录(例如C:\Program Files\MySQL\MySQL Connector C 6.1\)。

  • include

    将 MySQL 连接器的和路径添加

    lib

    到系统环境变量中。

    • 例如,如果使用 MySQL:
    • 添加。C:\Program Files\MySQL\MySQL Connector C 6.1\include``INCLUDE
    • 添加。C:\Program Files\MySQL\MySQL Connector C 6.1\lib``LIB
  • 验证安装:确保该文件在MySQL 或 MariaDB 连接器安装路径的目录mysql.h中可用。include

2.mysqlclient使用 pip安装

现在,尝试mysqlclient再次安装:

pip install mysqlclient

如果仍然失败,您可以安装预先构建的轮子(二进制文件)mysqlclient,它不需要编译。

3. 使用预建的二进制轮(替代解决方案)

如果设置 C 连接器不起作用,Windows 上的更快解决方案是使用预先构建的轮子:

  1. 转到Python扩展非官方Windows二进制文件页面。

  2. 下载适合mysqlclient .whl您的 Python 版本和系统架构的文件(例如,mysqlclient‑2.1.0‑cp312‑cp312‑win_amd64.whl64 位系统上的 Python 3.12)。

  3. 使用 pip 安装:

pip install path\to\mysqlclient‑2.1.0‑cp312‑cp312‑win_amd64.whl

这应该可以绕过编译错误并允许您成功安装mysqlclient。安装后,您应该能够将 Django 项目连接到 MySQL。

2024-10-29