0%

centos7下python2.7.5安装MySQL模块失败

导语

在Centos7下,当前python版本是2.7.5,测试实时获取日志然后解析入库中,安装MySQL-python模块报错如
EnvironmentError: mysql_config not found,原因是缺少了 mysql 相关支持。
这里把解决过程记录一下


具体报错信息:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
root@pts/4 $ pip install MySQL-python
Collecting MySQL-python
Using cached MySQL-python-1.2.5.zip
Complete output from command python setup.py egg_info:
sh: mysql_config: command not found
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-build-kWowP9/MySQL-python/setup.py", line 17, in <module>
metadata, options = get_config()
File "setup_posix.py", line 43, in get_config
libs = mysql_config("libs_r")
File "setup_posix.py", line 25, in mysql_config
raise EnvironmentError("%s not found" % (mysql_config.path,))
EnvironmentError: mysql_config not found

----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-kWowP9/MySQL-python/

mysql_config是来自于 mysql-devel ,我用的是MySQL社区版,所以实际安装的是mysql-community-devel,网上的说法是同时安装python-devel,如果你没有安装的话一起安装

yum install python-devel mysql-community-devel -y

安装完成之后尝试再次 pip 安装 MySQL-python


再次安装

1
2
3
4
5
6
root@pts/4 $ pip install MySQL-python
Collecting MySQL-python
Using cached MySQL-python-1.2.5.zip
Installing collected packages: MySQL-python
Running setup.py install for MySQL-python ... done
Successfully installed MySQL-python-1.2.5

验证

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
root@pts/1 $ python
Python 2.7.5 (default, Sep 15 2016, 22:37:39)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import MySQLdb
>>> MySQLdb.
MySQLdb.BINARY MySQLdb.OperationalError( MySQLdb.__hash__( MySQLdb.debug(
MySQLdb.Binary( MySQLdb.ProgrammingError( MySQLdb.__init__( MySQLdb.escape(
MySQLdb.Connect( MySQLdb.ROWID MySQLdb.__name__ MySQLdb.escape_dict(
MySQLdb.Connection( MySQLdb.STRING MySQLdb.__new__( MySQLdb.escape_sequence(
MySQLdb.DATE MySQLdb.TIME MySQLdb.__package__ MySQLdb.escape_string(
MySQLdb.DATETIME MySQLdb.TIMESTAMP MySQLdb.__path__ MySQLdb.get_client_info(
MySQLdb.DBAPISet( MySQLdb.Time( MySQLdb.__reduce__( MySQLdb.paramstyle
MySQLdb.DataError( MySQLdb.TimeFromTicks( MySQLdb.__reduce_ex__( MySQLdb.release
MySQLdb.DatabaseError( MySQLdb.Timestamp( MySQLdb.__repr__( MySQLdb.result(
MySQLdb.Date( MySQLdb.TimestampFromTicks( MySQLdb.__revision__ MySQLdb.server_end(
MySQLdb.DateFromTicks( MySQLdb.Warning( MySQLdb.__setattr__( MySQLdb.server_init(
MySQLdb.Error( MySQLdb.__all__ MySQLdb.__sizeof__( MySQLdb.string_literal(
MySQLdb.FIELD_TYPE MySQLdb.__author__ MySQLdb.__str__( MySQLdb.test_DBAPISet_set_equality(
MySQLdb.IntegrityError( MySQLdb.__class__( MySQLdb.__subclasshook__( MySQLdb.test_DBAPISet_set_equality_membership(
MySQLdb.InterfaceError( MySQLdb.__delattr__( MySQLdb.__version__ MySQLdb.test_DBAPISet_set_inequality(
MySQLdb.InternalError( MySQLdb.__dict__ MySQLdb._mysql MySQLdb.test_DBAPISet_set_inequality_membership(
MySQLdb.MySQLError( MySQLdb.__doc__ MySQLdb.apilevel MySQLdb.thread_safe(
MySQLdb.NULL MySQLdb.__file__ MySQLdb.connect( MySQLdb.threadsafety
MySQLdb.NUMBER MySQLdb.__format__( MySQLdb.connection( MySQLdb.times
MySQLdb.NotSupportedError( MySQLdb.__getattribute__( MySQLdb.constants MySQLdb.version_info
>>>
>>> MySQLdb.version_info
(1, 2, 5, 'final', 1)
>>>

公众号: DailyJobOps DailyJobOps