1
janxin 2016-05-22 20:45:46 +08:00
/usr/bin/ld: cannot find -lmysqlclient
mysql-client 装了吗? |
3
alfer OP 这个问题发现是 CentOS Linux release 7.2.1511 系统中装的 mariadb-libs 和自己装的 MySQL-server-5.6.30 的冲突了,所以卸载 mariadb 后导致组建缺失(libmysqlclient.so.18),致使安装 mysqlclient 报错。
解决办法:先安装 mysqlclient ,再安装 mysql5.6 但是还有遗留问题:因为安装 mysql 和 centos7 自带的 mariadb 有冲突,导致两者不能共存,卸载 mariadb 后,安装好的 mysqlclient 依然不能正常使用,报错如下: >>> import MySQLdb Traceback (most recent call last): File "<stdin>", line 1, in <module> File "build/bdist.linux-x86_64/egg/MySQLdb/__init__.py", line 19, in <module> File "build/bdist.linux-x86_64/egg/_mysql.py", line 7, in <module> File "build/bdist.linux-x86_64/egg/_mysql.py", line 6, in __bootstrap__ ImportError: libmysqlclient.so.18: cannot open shared object file: No such file or directory |
4
patrickstar 2016-05-22 21:53:13 +08:00
针对不同开发环境分别建立 python 虚拟环境(比如用 pyvenv ),不要安装到系统环境中去
|
5
msg7086 2016-05-23 01:41:30 +08:00
所以为什么要装 MySQL 呢……(
要装也建议打包成软件包然后再替换系统组件来着。 |
6
ToughGuy 2016-05-23 10:26:22 +08:00
yum -y install mariadb-devel python-devel
|
7
alfer OP 建议用 mariadb+mysqlclient ,安装方便,可以避免卸载 mariadb 后 mysql+mysqlclient 的少包问题
|