我在我的电脑上以管理员身份运行 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
。
有人可以帮我吗?
您可能缺少 MariaDB Connector/C 库和头文件。前往官方下载网站并安装先决条件选项卡中列出的所有内容。
https://mariadb-corporation.github.io/mariadb-connector-python/install.html#build-preventions?
那么你应该可以走了!