python2.7和python3.5上MySQLdb的编译安装

原来MySQLdb都是上sourceforge上去下载,现在通过pip安装,发现这模块原来的开发者不维护了,也不支持Python3,但是又没有好的高效的C/C++实现的mysql客户端实现,所以MySQLdb被包装了各种名称,各种python包,开始的时候就安装成了MySQL-python,结果是python2.7能安装成,python3.5环境安装编译时各种语法错,说是只支持到python3.4。

后来才发另一个包叫mysqlclient==1.3.13是同时支持python2.7 和 python3.5的,其实也是对MySQLdb源码的修正和打包。

无法通过pip直接编译安装,需要pip download下来,修改编译配置site.cfg,依赖的mysql client库和头文件位置,其实也就是mysql_config的位置:

static = True
cflags = '-Ofast'

mysql_config = ~/mysql/bin/mysql_config

然后python setup.py build,编译成功后就可以python setup.py install了。安装方便是egg安装,其实就是一个 zip包,python加载时会在内存中解压。

注意:mac上brew加pip下载来编译时,可能会因为openssl版本冲突(brew下来的mysqlclient依赖的openssl 1.0.0与系统的openssl 0.98)出现_X509_check_host找不到问题,此时需要采用static=False动态链接。

发表于2018-08-01 13:56   修改于2018-08-01 17:59   评论:0   阅读:339  



回到顶部

首页 | 关于我 | 关于本站 | 站内留言 | rss
python logo   django logo