Centos7 installation mysql-python error

the environment is centos 7 and python 2.7. The installation that wants to connect to the mysql, database is the latest version of 8.0.12, which is installed directly using yum install.
an error occurred while installing mysql-python. The error message is as follows

Collecting mysql-python
Using cached https://files.pythonhosted.org/packages/a5/e9/51b544da85a36a68debe7a7091f068d802fc515a3a202652828c73453cad/MySQL-python-1.2.5.zip
Installing collected packages: mysql-python
Running setup.py install for mysql-python ... error
Complete output from command /usr/bin/python2 -u -c "import setuptools, tokenize;__file__="/tmp/pip-install-m1Mbxd/mysql-python/setup.py";f=getattr(tokenize, "open", open)(__file__);code=f.read().replace("\r\n", "\n");f.close();exec(compile(code, __file__, "exec"))" install --record /tmp/pip-record-prx14x/install-record.txt --single-version-externally-managed --compile:
running install
running build
running build_py
creating build
creating build/lib.linux-x86_64-2.7
copying _mysql_exceptions.py -> build/lib.linux-x86_64-2.7
creating build/lib.linux-x86_64-2.7/MySQLdb
copying MySQLdb/__init__.py -> build/lib.linux-x86_64-2.7/MySQLdb
copying MySQLdb/converters.py -> build/lib.linux-x86_64-2.7/MySQLdb
copying MySQLdb/connections.py -> build/lib.linux-x86_64-2.7/MySQLdb
copying MySQLdb/cursors.py -> build/lib.linux-x86_64-2.7/MySQLdb
copying MySQLdb/release.py -> build/lib.linux-x86_64-2.7/MySQLdb
copying MySQLdb/times.py -> build/lib.linux-x86_64-2.7/MySQLdb
creating build/lib.linux-x86_64-2.7/MySQLdb/constants
copying MySQLdb/constants/__init__.py -> build/lib.linux-x86_64-2.7/MySQLdb/constants
copying MySQLdb/constants/CR.py -> build/lib.linux-x86_64-2.7/MySQLdb/constants
copying MySQLdb/constants/FIELD_TYPE.py -> build/lib.linux-x86_64-2.7/MySQLdb/constants
copying MySQLdb/constants/ER.py -> build/lib.linux-x86_64-2.7/MySQLdb/constants
copying MySQLdb/constants/FLAG.py -> build/lib.linux-x86_64-2.7/MySQLdb/constants
copying MySQLdb/constants/REFRESH.py -> build/lib.linux-x86_64-2.7/MySQLdb/constants
copying MySQLdb/constants/CLIENT.py -> build/lib.linux-x86_64-2.7/MySQLdb/constants
running build_ext
building "_mysql" extension
creating build/temp.linux-x86_64-2.7
gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -Dversion_info=(1,2,5,"final",1) -D__version__=1.2.5 -I/usr/include/mysql -I/usr/include/python2.7 -c _mysql.c -o build/temp.linux-x86_64-2.7/_mysql.o -m64
_mysql.c:44:23: :my_config.h:
-sharpinclude "my_config.h"
^

error: command "gcc" failed with exit status 1

----------------------------------------
Command "/usr/bin/python2 -u -c "import setuptools, tokenize;__file__="/tmp/pip-install-m1Mbxd/mysql-python/setup.py";f=getattr(tokenize, "open", open)(__file__);code=f.read().replace("\r\n", "\n");f.close();exec(compile(code, __file__, "exec"))" install --record /tmp/pip-record-prx14x/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-install-m1Mbxd/mysql-python/

all the reasons and solutions found on the Internet have been tried, and the mysql-devel that needs to be installed has also been installed, but this error is still reported.
can be installed using yum install MySQL-python, but it cannot be used in a virtual environment.
both pip method installation and python setup.py installation will be reported. Is there a solution to this? Thank you!

Apr.03,2021

have you tried adding sudo ?


before using `pip install mysql-python , you need to install MariaDB (formerly MySQL) developer package

yum install mariadb-devel

I'll just replace mysql with version 5.6. I don't know why.

Menu