Saltar al contenido

pip install mysqlclient devuelve “error fatal C1083: no se puede abrir el archivo: ‘mysql.h’: no ​​existe tal archivo o directorio

Solución:

Puede descargar archivos binarios de Windows no oficiales para su versión de Python usando https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient. Luego instálelo usando pip. De esta manera, podrá evitar la molestia de tener que lidiar con las herramientas de compilación de Visual Studio.

Simplemente descargue el archivo mysqlclient.whl que más le corresponda. Creo que en tu caso será

mysqlclient ‑ 1.3.13 ‑ cp36 ‑ cp36m ‑ win_amd64.whl

y correr

pip install "path to the downloaded .whl file"

Este error ocurre al intentar instalar mysqlclient para python32 en entornos de 64 bits. Desinstale Python y vuelva a instalar la versión de 64 bits. Luego, pip install mysqlclient se ejecutará sin errores.

Bueno, probablemente, este es uno de los errores más estúpidos que he presenciado.
Tengo Python 3.7.3 32bit junto con el último pip3 y estaba instalando ruedas en mi Python … y me encontré con este error ESTÚPIDO …
Probablemente mi situación sea un poco diferente, pero puedes resolverlo con solo mirar detenidamente el error … al principio parece que falta algo y comienzas a culparte, Windows, 32 / 64bit y la lista sigue y sigue …
Da un paso atrás…solo da un paso atrás y lee el desagradable mensaje de error rojo…. léelo muy bien.
En mi caso fue

ERROR: Command errored out with exit status 1:
     command: 'c:usersmyUserNameappdatalocalprogramspythonpython37-32python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\MASTER~1\AppData\Local\Temp\pip-install-z7x81g2q\mysqlclient\setup.py'"'"'; __file__='"'"'C:\Users\MASTER~1\AppData\Local\Temp\pip-install-z7x81g2q\mysqlclient\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'rn'"'"', '"'"'n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:UsersMASTER~1AppDataLocalTemppip-record-z1mvci5vinstall-record.txt' --single-version-externally-managed --compile
         cwd: C:UsersMASTER~1AppDataLocalTemppip-install-z7x81g2qmysqlclient
    Complete output (30 lines):
    running install
    running build
    running build_py
    creating build
    creating buildlib.win32-3.7
    creating buildlib.win32-3.7MySQLdb
    copying MySQLdb__init__.py -> buildlib.win32-3.7MySQLdb
    copying MySQLdb_exceptions.py -> buildlib.win32-3.7MySQLdb
    copying MySQLdbcompat.py -> buildlib.win32-3.7MySQLdb
    copying MySQLdbconnections.py -> buildlib.win32-3.7MySQLdb
    copying MySQLdbconverters.py -> buildlib.win32-3.7MySQLdb
    copying MySQLdbcursors.py -> buildlib.win32-3.7MySQLdb
    copying MySQLdbrelease.py -> buildlib.win32-3.7MySQLdb
    copying MySQLdbtimes.py -> buildlib.win32-3.7MySQLdb
    creating buildlib.win32-3.7MySQLdbconstants
    copying MySQLdbconstants__init__.py -> buildlib.win32-3.7MySQLdbconstants
    copying MySQLdbconstantsCLIENT.py -> buildlib.win32-3.7MySQLdbconstants
    copying MySQLdbconstantsCR.py -> buildlib.win32-3.7MySQLdbconstants
    copying MySQLdbconstantsER.py -> buildlib.win32-3.7MySQLdbconstants
    copying MySQLdbconstantsFIELD_TYPE.py -> buildlib.win32-3.7MySQLdbconstants
    copying MySQLdbconstantsFLAG.py -> buildlib.win32-3.7MySQLdbconstants
    running build_ext
    building 'MySQLdb._mysql' extension
    creating buildtemp.win32-3.7
    creating buildtemp.win32-3.7Release
    creating buildtemp.win32-3.7ReleaseMySQLdb
    C:Program Files (x86)Microsoft Visual Studio2019BuildToolsVCToolsMSVC14.21.27702binHostX86x86cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MT -Dversion_info=(1,4,2,'post',1) -D__version__=1.4.2.post1 "-IC:Program Files (x86)MySQLMySQL Connector C 6.1includemariadb" -Ic:usersMyUserNameappdatalocalprogramspythonpython37-32include -Ic:usersMyUserNameappdatalocalprogramspythonpython37-32include "-IC:Program Files (x86)Microsoft Visual Studio2019BuildToolsVCToolsMSVC14.21.27702include" "-IC:Program Files (x86)Windows Kits10include10.0.17763.0ucrt" "-IC:Program Files (x86)Windows Kits10include10.0.17763.0shared" "-IC:Program Files (x86)Windows Kits10include10.0.17763.0um" "-IC:Program Files (x86)Windows Kits10include10.0.17763.0winrt" "-IC:Program Files (x86)Windows Kits10include10.0.17763.0cppwinrt" /TcMySQLdb/_mysql.c /Fobuildtemp.win32-3.7ReleaseMySQLdb/_mysql.obj /Zl /D_CRT_SECURE_NO_WARNINGS
    _mysql.c
    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\2019\BuildTools\VC\Tools\MSVC\14.21.27702\bin\HostX86\x86\cl.exe' failed with exit status 2
    ----------------------------------------
ERROR: Command errored out with exit status 1: 'c:usersMyUserNameappdatalocalprogramspythonpython37-32python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\MASTER~1\AppData\Local\Temp\pip-install-z7x81g2q\mysqlclient\setup.py'"'"'; __file__='"'"'C:\Users\MASTER~1\AppData\Local\Temp\pip-install-z7x81g2q\mysqlclient\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'rn'"'"', '"'"'n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:UsersMASTER~1AppDataLocalTemppip-record-z1mvci5vinstall-record.txt' --single-version-externally-managed --compile Check the logs for full command output.

¿Lo has leído bien? … supongo que lo tienes todo … las herramientas de compilación, el conector MySQL C 6.1 … incluso lo moviste a Archivos de programa (x86) … así que qué mal … ?? …
Ahora mira más de cerca

C:Program Files (x86)Microsoft Visual Studio2019BuildToolsVCToolsMSVC14.21.27702binHostX86x86cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MT -Dversion_info=(1,4,2,'post',1) -D__version__=1.4.2.post1 "-IC:Program Files (x86)MySQLMySQL Connector C 6.1includemariadb" -

Estoy bastante seguro de que lo vio … ¿TODAVÍA NO? … déjeme ponerlo en negrita para usted

"-IC:Program Files (x86)MySQLMySQL Connector C 6.1includemariadb" -

mariadb

Bueno, no puede ser más estúpido que esto … el instalador busca mariadb incluye y después libs
Simplemente vaya al sitio de mariadb y descargue el conector MariaDB C / C ++ e instálelo …
Bueno, no ha terminado … Ir a C: Archivos de programa (x86) MySQL MySQL Connector C 6.1 incluir y crear la carpeta mariadb … y copiar y pegar el contenido de la instalación del conector mariaDb incluir carpeta
de nuevo no te vayas … ve a C: Archivos de programa (x86) MySQL MySQL Connector C 6.1 lib y vuelve a hacer el mismo ejercicio para el lib carpeta
entonces deberías tener

C:Program Files (x86)MySQLMySQL Connector C 6.1includemariadb  

C:Program Files (x86)MySQLMySQL Connector C 6.1libmariadb  

Ahora golpea el pip3 install mysqlclient

y disfruta de la instalación sin un fastidio … al final

Successfully installed mysqlclient-1.4.2.post1
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *