
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 的少包问题 |