mysql-python install error: Cannot open include file 'config-win.h'

PythonMysqlMysql PythonFailed Installation

Python Problem Overview


I am trying to run pip install mysql-python connector but it keeps giving me an error "Cannot open include file: 'config-win.h'".

The installation works fine on my Mac and another Windows machine, but not this one. I have downloaded Visual Studio C++ and tried installing as both 32 bit and 64.

_mysql.c(42) : fatal error C1083: Cannot open include file: 'config-win.h': No s
uch file or directory

error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 9.0\\VC\\BIN\\c
l.exe' failed with exit status 2

----------------------------------------
Cleaning up...
Command C:\Users\Admin1\Desktop\python\virtual\Scripts\python.exe -c "import set
uptools, tokenize;__file__='C:\\Users\\Admin1\\Desktop\\python\\virtual\\build\\
MySQL-python\\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).r
ead().replace('\r\n', '\n'), __file__, 'exec'))" install --record c:\users\admin
1\appdata\local\temp\1\pip-6pmwrd-record\install-record.txt --single-version-ext
ernally-managed --compile --install-headers C:\Users\Admin1\Desktop\python\virtu
al\include\site\python2.7 failed with error code 1 in C:\Users\Admin1\Desktop\py
thon\virtual\build\MySQL-python
Storing debug log for failure in C:\Users\Admin1\pip\pip.log

Python Solutions


Solution 1 - Python

for 64-bit windows

For python 3.x:

    pip install mysqlclient-1.3.8-cp36-cp36m-win_amd64.whl

For python 2.7:

    pip install mysqlclient-1.3.8-cp27-cp27m-win_amd64.whl

Solution 2 - Python

This didn't work for me:

pip install mysqlclient

so I found this after a while on Stack Overflow:

pip install --only-binary :all: mysqlclient

and it went all through, no need for MS Visual C++ 14 Build tools and stuff.

Note: for now this doesn't work with Python 3.7, I also had to downgrade to Python 3.6.5.

Solution 3 - Python

well this worked for me:

pip install mysqlclient

this is for python 3.x in window 7 i am not sure about other windows os versions

Solution 4 - Python

I am using Windows 10 and overcame this issue by running the pip install mysql-connector command in Windows PowerShell rather than the Command Prompt.

Solution 5 - Python

you can try to install another package:

pip install mysql-connector-python

This package worked fine for me and I got no issues to install.

Solution 6 - Python

Assume you want to install package MySQL-python on Windows, maybe try pip install command with --global-option. See the example command below:

pip install MySQL-python ^
 --force-reinstall --no-cache-dir ^
 --global-option=build_ext ^
 --global-option="-IC:\my\install\MySQL-x64\MySQL Connector C 6.0.2\include" ^
 --global-option="-LC:\my\install\MySQL-x64\MySQL Connector C 6.0.2\lib\opt" ^
 --verbose

For this example, I fully installed 64-bit version of MySQL Connector C in customized location of C:\my\install\MySQL-x64\MySQL Connector C 6.0.2\.

By the way, I noticed that pip install MySQL-python by default always looks into directory C:\Program Files (x86)\MySQL\MySQL Connector C 6.0.2\include, even if you're using 64-bit and/or have installed the driver at a different location. I tested on Python-2.7, and I guess this is a bug of either Python or MySQL-python.

Hope the above might be of some help.

Solution 7 - Python

For me, it worked when I selected the correct bit of my Python version, NOT the one of my computer version.

Mine is 32bit, and my computer is 64bit. That was the problem and the 32bit version of fixed it.

to be exact, here is the one that worked for me: mysqlclient-1.3.13-cp37-cp37m-win32.whl

Solution 8 - Python

For mysql8 and python 3.7 on windows, I find previous solutions seems not work for me.

Here is what worked for me:

pip install wheel

pip install mysqlclient-1.4.2-cp37-cp37m-win_amd64.whl

python -m pip install mysql-connector-python

python -m pip install SQLAlchemy

Reference: https://mysql.wisborg.dk/2019/03/03/using-sqlalchemy-with-mysql-8/

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionChris MeekView Question on Stackoverflow
Solution 1 - Pythonpokemon blueView Answer on Stackoverflow
Solution 2 - PythonkayaView Answer on Stackoverflow
Solution 3 - Pythonkinsley kajivaView Answer on Stackoverflow
Solution 4 - PythonapplecrusherView Answer on Stackoverflow
Solution 5 - Pythong__nView Answer on Stackoverflow
Solution 6 - PythonMikeView Answer on Stackoverflow
Solution 7 - PythonFouad BoukredineView Answer on Stackoverflow
Solution 8 - PythonsxzhangzsxView Answer on Stackoverflow