Python 3.7, Failed building wheel for MySql-Python
Asked Answered
P

15

35

I am new to python and I am trying django framework that involves some MySql and ran into this error when try to do pip install mysqlclient and down the lines of cmd messages I got this.

   Failed building wheel for mysqlclient
  Running setup.py clean for mysqlclient
Failed to build mysqlclient
Installing collected packages: mysqlclient
  Running setup.py install for mysqlclient ... error
    Complete output from command c:\users\ronanl~1\envs\py1\scripts\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\RONANL~1\\AppData\\Local\\Temp\\pip-install-pkbqy3t3\\mysqlclient\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\RONANL~1\AppData\Local\Temp\pip-record-moxwf7lu\install-record.txt --single-version-externally-managed --compile --install-headers c:\users\ronanl~1\envs\py1\include\site\python3.7\mysqlclient:
    running install
    running build
    running build_py
    creating build
    creating build\lib.win32-3.7
    copying _mysql_exceptions.py -> build\lib.win32-3.7
    creating build\lib.win32-3.7\MySQLdb
    copying MySQLdb\__init__.py -> build\lib.win32-3.7\MySQLdb
    copying MySQLdb\compat.py -> build\lib.win32-3.7\MySQLdb
    copying MySQLdb\connections.py -> build\lib.win32-3.7\MySQLdb
    copying MySQLdb\converters.py -> build\lib.win32-3.7\MySQLdb
    copying MySQLdb\cursors.py -> build\lib.win32-3.7\MySQLdb
    copying MySQLdb\release.py -> build\lib.win32-3.7\MySQLdb
    copying MySQLdb\times.py -> build\lib.win32-3.7\MySQLdb
    creating build\lib.win32-3.7\MySQLdb\constants
    copying MySQLdb\constants\__init__.py -> build\lib.win32-3.7\MySQLdb\constants
    copying MySQLdb\constants\CLIENT.py -> build\lib.win32-3.7\MySQLdb\constants
    copying MySQLdb\constants\CR.py -> build\lib.win32-3.7\MySQLdb\constants
    copying MySQLdb\constants\ER.py -> build\lib.win32-3.7\MySQLdb\constants
    copying MySQLdb\constants\FIELD_TYPE.py -> build\lib.win32-3.7\MySQLdb\constants
    copying MySQLdb\constants\FLAG.py -> build\lib.win32-3.7\MySQLdb\constants
    copying MySQLdb\constants\REFRESH.py -> build\lib.win32-3.7\MySQLdb\constants
    running build_ext
    building '_mysql' extension
    creating build\temp.win32-3.7
    creating build\temp.win32-3.7\Release
    C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\bin\HostX86\x86\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Dversion_info=(1,3,13,'final',0) -D__version__=1.3.13 "-IC:\Program Files (x86)\MySQL\MySQL Connector C 6.1\include" "-Ic:\users\ronan lina\appdata\local\programs\python\python37-32\include" "-Ic:\users\ronan lina\appdata\local\programs\python\python37-32\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\ATLMFC\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\include" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\cppwinrt" /Tc_mysql.c /Fobuild\temp.win32-3.7\Release\_mysql.obj /Zl
    _mysql.c
    _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.14.26428\\bin\\HostX86\\x86\\cl.exe' failed with exit status 2
> 
> 
> Command "c:\users\ronanl~1\envs\py1\scripts\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\RONANL~1\\AppData\\Local\\Temp\\pip-install-pkbqy3t3\\mysqlclient\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\RONANL~1\AppData\Local\Temp\pip-record-moxwf7lu\install-record.txt --single-version-externally-managed --compile --install-headers c:\users\ronanl~1\envs\py1\include\site\python3.7\mysqlclient" failed with error code 1 in C:\Users\RONANL~1\AppData\Local\Temp\pip-install-pkbqy3t3\mysqlclient\

anyone knows how to fix this ?

Palatial answered 30/6, 2018 at 18:27 Comment(6)
This might help: https://mcmap.net/q/429050/-mysql-mysql-h-file-not-found-in-vs2008-cWounded
I can’t help with building the wheel for Python 3.7, but if you just want to use Python 3 with mysqlclient, then pip install mysqlclient==1.3.12 With Python 3.6 should install a prebuilt wheel without any issues.Kapok
You could try this unofficial wheel lfd.uci.edu/~gohlke/pythonlibs/#mysqlclientGipsy
Glad you got it working. It’s best to use the latest 3.6.x, to make sure you get the latest bug and security fixes.Kapok
pip install mysqlclient==1.3.12 helped me.I was in python 3.7, then uninstalled that and installed python 3.6.5. Then that command worked for meChadchadabe
Installing this 'sudo apt-get install libssl-dev' solved for meHammered
C
26

You need to install the following dependencies before installing mysqlclient for python 3.7 in your system.

sudo apt-get install python3.7-dev default-libmysqlclient-dev

I hope this will help you.

Cockaigne answered 22/5, 2019 at 7:33 Comment(2)
worked in ubuntu 19.04 with python 3.7.3 and pip 19.1.1.Papuan
After this I ran this too pip install mysqlclient.Decane
H
24

I installed the following library on Ubuntu and after that, the issue got resolved.

sudo apt-get install libssl-dev

and then I was able to install mysqlclient using the following command

pip install mysqlclient
Hammered answered 2/1, 2020 at 7:23 Comment(0)
T
5

currently the mysql-connector for python 3.7 is not available in official wesite but u can fix this issue by installing wheel with specific windows and python version. this solutionpip install (ex/dir)/mysqlclient-1.3.13-cp37-cp37m-win_amd64.whl for win 64-bi and python 3.7

check the link below and download the specific wheel for your system. download and install the wheel for specific version by using "pip install (full path with file name in my case ex:-"pip install C:\Users\%user%\Downloads\mysqlclient-1.3.13-cp37-cp37m-win_amd64.whl")

Talkfest answered 4/10, 2018 at 11:24 Comment(0)
S
5

This should work.

Do this first

sudo apt-get install python3.7-dev

And Then

pip install mysqlclient
Sample answered 17/4, 2020 at 21:9 Comment(0)
T
4

I installed it with the following command and works well now (on Mac): LDFLAGS=-L/usr/local/opt/openssl/lib pip install mysqlclient

see connected answer: Error installing mysql-python: library not found for -lssl

Transmission answered 5/8, 2019 at 16:36 Comment(0)
H
3

You have to install "mysqlclient-1.4.1-cp37-cp37m-win32.whl" (32bit) file

  1. Download 32bit file from https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient
  2. if your file is in Downloads folder write the command in your cmd

    i. cd C:\Users\Nour Noby\Downloads ["Nour Noby" should be changed ]

    ii. pip install mysqlclient-1.4.1-cp37-cp37m-win32.whl ["mysqlclient-1.4.1-cp37-cp37m-win32.whl" should be replaced with your downloaded filename ].

Harmonica answered 21/2, 2019 at 6:43 Comment(0)
E
2

As of 2019, here is how to run smoothly pip install mysqlclient on MacOS:

brew info openssl and follow the commands at the bottom

  echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.zshrc

Other approaches:

  • brew install/upgrade/reinstall mysql : did not fix the issue for me, but has the nice side effect to make sure your installation is clean.
  • brew install mysql-connector-c : to make that work you have to unlink mysql, which ruins your setup and it did not fix the issue for me.
Effectuate answered 27/6, 2019 at 10:37 Comment(0)
N
2

ensuring you have had done the needful with python...

and installing on the global level... (not virtual environment)

sudo apt-get install mysql-server pip install --upgrade setuptools

I had come across the same problem, because I installed default Python2.7.15, and python3 would break even after doing the needful for Python (being python2)

something that worked for me was (effectively the last one is what made it work, but i think they were equally required on my virtualenvironment with python3)

sudo apt-get install libmysqlclient-dev
sudo apt-get install python3-pymysql
sudo apt-get install python3.6-dev

python3.7 in your case in the virtualenv

I also had to go through..

Ninurta answered 27/6, 2019 at 17:38 Comment(0)
A
1

Python 3.11, MariaDB 10.1, CentOS 7, latest possible version - 2.1.1:

pip install mysqlclient==2.1.1

If you try to install a later version, you will get an error:

× Building wheel for mysqlclient (pyproject.toml) did not run successfully. │ exit code: 1 ╰─> [51 lines of output]

...

src/MySQLdb/_mysql.c:539:49: error: ‘MYSQL_OPT_SSL_ENFORCE’ undeclared (first use in this function) mysql_optionsv(&(self->connection), MYSQL_OPT_SSL_ENFORCE, (void *)&enforce_tls);

...

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

Abroach answered 9/2, 2024 at 4:9 Comment(0)
B
0

use this command : sudo apt-get install libssl-dev

Bibbie answered 2/1, 2020 at 7:33 Comment(1)
Please try to explain a bit more.Sachsen
T
0

In my case, I had the 32-bit version of Python installed, instead of the 64-bit one. Install 64-bit Python and it would work alright.

Typescript answered 27/5, 2020 at 11:10 Comment(0)
M
0

try to change python3 to python or python3.7-dev or as installed on your machine.

sudo apt-get install python3 default-libmysqlclient-dev

Mcmaster answered 29/6, 2023 at 20:51 Comment(0)
K
0

Check for the updates

sudo apt-get update
  1. Install the

    sudo apt-get install pkg-config
    

This will solve the package config errors

2.Then try to install the

sudo apt-get install libmysqlclient-dev
  1. Now, try to install

Install this in the environment of the project..

   pip3 install mysqlclient

Hope this works for you....

Kissie answered 20/5, 2024 at 2:12 Comment(0)
F
-2

Use Anaconda and execute conda install mysqlclient

Flamethrower answered 19/11, 2018 at 11:3 Comment(0)

© 2022 - 2025 — McMap. All rights reserved.