Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Centos 6 - sudo doesn't recognise pip3.4 when installing mysqlclient for Python 3.4

Tags:

python

linux

I am new to Centos 6 and Linux.
I need to install Python 3.4 but Centos 6 came default with Python 2.6.6.
I have installed Python 3.4 to /usr/local/lib/Python3.4.

However, I am having problems installing mysqlclient.

I tried pip3.4 install mysqlclient.

This is the error message.

ERROR

_mysql.c:29:23: error: my_config.h: No such file or directory
_mysql.c:30:19: error: mysql.h: No such file or directory
_mysql.c:31:26: error: mysqld_error.h: No such file or directory
_mysql.c:51:20: error: errmsg.h: No such file or directory
_mysql.c:74: error: expected specifier-qualifier-list before ‘MYSQL
_mysql.c:88: error: expected specifier-qualifier-list before ‘MYSQL_RES’
_mysql.c: In function ‘_mysql_Exception’:
_mysql.c:128: warning: implicit declaration of function ‘mysql_errno’
_mysql.c:128: error: ‘_mysql_ConnectionObject’ has no member named ‘connection’
_mysql.c:131: error: ‘CR_MAX_ERROR’ undeclared (first use in this function)
_mysql.c:131: error: (Each undeclared identifier is reported only once
_mysql.c:131: error: for each function it appears in.)
_mysql.c:139: error: ‘CR_COMMANDS_OUT_OF_SYNC’ undeclared (first use in this function)
_mysql.c:140: error: ‘ER_DB_CREATE_EXISTS’ undeclared (first use in this function)
_mysql.c:141: error: ‘ER_SYNTAX_ERROR’ undeclared (first use in this function)
_mysql.c:142: error: ‘ER_PARSE_ERROR’ undeclared (first use in this function)
_mysql.c:143: error: ‘ER_NO_SUCH_TABLE’ undeclared (first use in this function)
_mysql.c:144: error: ‘ER_WRONG_DB_NAME’ undeclared (first use in this function)
_mysql.c:145: error: ‘ER_WRONG_TABLE_NAME’ undeclared (first use in this function)
_mysql.c:146: error: ‘ER_FIELD_SPECIFIED_TWICE’ undeclared (first use in this function)
_mysql.c:147: error: ‘ER_INVALID_GROUP_FUNC_USE’ undeclared (first use in this function)
_mysql.c:148: error: ‘ER_UNSUPPORTED_EXTENSION’ undeclared (first use in this function)
_mysql.c:149: error: ‘ER_TABLE_MUST_HAVE_COLUMNS’ undeclared (first use in this function)
_mysql.c:178: error: ‘ER_DUP_ENTRY’ undeclared (first use in this function)
_mysql.c:221: warning: implicit declaration of function ‘mysql_error’
_mysql.c:221: error: ‘_mysql_ConnectionObject’ has no member named ‘connection’
_mysql.c: In function ‘_mysql_server_init’:
_mysql.c:325: warning: label ‘finish’ defined but not use
_mysql.c:242: warning: unused variable ‘item’
_mysql.c:241: warning: unused variable ‘groupc'
_mysql.c:241: warning: unused variable ‘i’
...

error: command 'gcc' failed with exit status 1
----------------------------------------
Cleaning up...
Command /usr/local/bin/python3.4 -c "import setuptools, tokenize;__file__=
'/tmp/pip_build_username/mysqlclient/setup.py';
exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" 
install --record /tmp/pip-s1b9rgku-record/install-record.txt 
--single-version-externally-managed --compile failed with error code 1 
in /tmp/pip_build_username/mysqlclient
        Storing debug log for failure in /home/username/.pip/pip.log

EDIT: Found out what is wrong. Sudo doesn't recognise pip3.4. This link helps: Installing Python3.4 and the SciPy stack on CentOS

sudo /usr/local/bin/pip3.4 install mysqlclient 
like image 621
Cryssie Avatar asked Jul 22 '26 10:07

Cryssie


1 Answers

Have you installed mysqlclient (rpm) first? Sounds like it can't find the headers its needs

sudo yum install mysql mysql-devel mysql-lib

see http://www.cyberciti.biz/faq/centos-linux-56-install-mysql-client-only/

like image 71
lxx Avatar answered Jul 24 '26 22:07

lxx