CentOS 7 python导入MySQLdb模块错误libmysqlclient.so找不到

在CentOS 7 最小化安装python的mysql数据库操作模块mysql-python,在导入使用的时候出现so文件缺失导入错误的现象。
备注:我这边的mysql数据库是自定义打包的

1. MySQL-python模块安装

~]# pip install MySQL-python
Collecting MySQL-python
  Downloading https://files.pythonhosted.org/packages/a5/e9/51b544da85a36a68debe7a7091f068d802fc515a3a202652828c73453cad/MySQL-python-1.2.5.zip (108kB)
    100% |████████████████████████████████| 112kB 144kB/s 
Installing collected packages: MySQL-python
  Running setup.py install for MySQL-python ... done
Successfully installed MySQL-python-1.2.5

2. 导入MySQLdb模块报错如下

~]# python
Python 2.7.5 (default, Nov  6 2016, 00:28:07) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-11)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import MySQLdb
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib64/python2.7/site-packages/MySQLdb/__init__.py", line 19, in <module>
    import _mysql
ImportError: libmysqlclient.so.20: cannot open shared object file: No such file or directory

3. 解决思路

搜索libmysqlclient.so.20,并软连接到/usr/lib64/mysql/libmysqlclient.so.20

~]# find / -name libmysqlclient.so.20
/opt/app/install/mysql-5.7.19/lib/libmysqlclient.so.20

~]# ln -s /opt/app/install/mysql-5.7.19/lib/libmysqlclient.so.20 /usr/lib64/mysql/libmysqlclient.so.20

然后导入使用MySQLdb模块就没有问题了。另,如果系统中find搜索不到libmysqlclient.so文件,则需要安装MySQL-devel 和 MySQL-shared,我遇到的问题没有安装这2个包,因为mysql是自定义打包的,已经将该libmysqlclient.so文件打进去了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值