简体   繁体   中英

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

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 

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/

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM