“pip install mariadb”指出它在我的 Windows 10 桌面上找不到包含文件“mysql.h”

问题描述 投票:0回答:1

我在我的电脑上以管理员身份运行 cmd.exe。然后输入:

pip install mariadb
,但这是它显示的输出:

Collecting mariadb
  Using cached mariadb-1.1.10.tar.gz (84 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting packaging (from mariadb)
  Using cached packaging-24.0-py3-none-any.whl.metadata (3.2 kB)
Using cached packaging-24.0-py3-none-any.whl (53 kB)
Building wheels for collected packages: mariadb
  Building wheel for mariadb (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for mariadb (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [37 lines of output]
      using environment configuration C:\path\to\mariadb-connector-c
      Found MariaDB Connector/C in 'C:\path\to\mariadb-connector-c'
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build\lib.win-amd64-cpython-313
      creating build\lib.win-amd64-cpython-313\mariadb
      copying mariadb\__init__.py -> build\lib.win-amd64-cpython-313\mariadb
      copying mariadb\connectionpool.py -> build\lib.win-amd64-cpython-313\mariadb
      copying mariadb\connections.py -> build\lib.win-amd64-cpython-313\mariadb
      creating build\lib.win-amd64-cpython-313\mariadb\constants
      copying mariadb\constants\__init__.py -> build\lib.win-amd64-cpython-313\mariadb\constants
      copying mariadb\constants\CAPABILITY.py -> build\lib.win-amd64-cpython-313\mariadb\constants
      copying mariadb\constants\CLIENT.py -> build\lib.win-amd64-cpython-313\mariadb\constants
      copying mariadb\constants\CURSOR.py -> build\lib.win-amd64-cpython-313\mariadb\constants
      copying mariadb\constants\ERR.py -> build\lib.win-amd64-cpython-313\mariadb\constants
      copying mariadb\constants\FIELD_FLAG.py -> build\lib.win-amd64-cpython-313\mariadb\constants
      copying mariadb\constants\FIELD_TYPE.py -> build\lib.win-amd64-cpython-313\mariadb\constants
      copying mariadb\constants\EXT_FIELD_TYPE.py -> build\lib.win-amd64-cpython-313\mariadb\constants
      copying mariadb\constants\INDICATOR.py -> build\lib.win-amd64-cpython-313\mariadb\constants
      copying mariadb\constants\INFO.py -> build\lib.win-amd64-cpython-313\mariadb\constants
      copying mariadb\constants\STATUS.py -> build\lib.win-amd64-cpython-313\mariadb\constants
      copying mariadb\constants\TPC_STATE.py -> build\lib.win-amd64-cpython-313\mariadb\constants
      copying mariadb\cursors.py -> build\lib.win-amd64-cpython-313\mariadb
      copying mariadb\dbapi20.py -> build\lib.win-amd64-cpython-313\mariadb
      copying mariadb\field.py -> build\lib.win-amd64-cpython-313\mariadb
      copying mariadb\release_info.py -> build\lib.win-amd64-cpython-313\mariadb
      running build_ext
      building 'mariadb._mariadb' extension
      creating build\temp.win-amd64-cpython-313
      creating build\temp.win-amd64-cpython-313\Release
      creating build\temp.win-amd64-cpython-313\Release\mariadb
      "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.39.33519\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -DPY_MARIADB_MAJOR_VERSION=1 -DPY_MARIADB_MINOR_VERSION=1 -DPY_MARIADB_PATCH_VERSION=10 -DPY_MARIADB_PRE_RELEASE_SEGMENT=\"None\" -DPY_MARIADB_PRE_RELEASE_NR=\"0\" -DPY_MARIADB_POST_RELEASE_SEGMENT=\"None\" -DPY_MARIADB_POST_RELEASE_NR=\"0\" -I.\include -IC:\path\to\mariadb-connector-c\include -IC:\path\to\mariadb-connector-c\include\mysql -IC:\Python313\include -IC:\Python313\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.39.33519\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\VS\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\\um" "-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\\winrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\cppwinrt" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um" /Tcmariadb/mariadb.c /Fobuild\temp.win-amd64-cpython-313\Release\mariadb/mariadb.obj /MD
      mariadb.c
      .\include\mariadb_python.h(27): fatal error C1083: Cannot open include file: 'mysql.h': No such file or directory
      error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.39.33519\\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 mariadb
Failed to build mariadb
ERROR: Could not build wheels for mariadb, which is required to install pyproject.toml-based projects

为什么会出现这种情况?

我将 Visual C++ 更新到最新版本,我的 python 版本是 3.13,pip 是 24.0 版本,来自

C:\Python313\Lib\site-packages\pip

有人可以帮我吗?

python visual-c++ cmd pip mariadb
1个回答
0
投票

您可能缺少 MariaDB Connector/C 库和头文件。前往官方下载网站并安装先决条件选项卡中列出的所有内容。

https://mariadb-corporation.github.io/mariadb-connector-python/install.html#build-preventions?

那么你应该可以走了!

© www.soinside.com 2019 - 2024. All rights reserved.