最近用flask重写一个服务,由于对数据库操作有点频繁所以想试试SQLAlchemy,也不知道这个理由对不对,以前都是硬写sql语句。
拿出很久不用的mac发现里系统都升不了了,停留的版本太老导致无法通过app store更新,以至于mysql只能安装很老的版本,python的版本也停留在2.7.9.
首先安装flask_sqlalchemy 就出了问题,只能安装2.5.1的版本。
以前用的时候要么pymysql要么mysql-python要么mysql-connector,之前一直用的mysql-connector,这次用sqlalchemy,发现它pymysql和mysql-python都用,具体细节也不是很清楚,至少碰到了以下问题,
1. _mysql.so not found,这个是没有在/usr/lib/下找到libmysqlclient.18.dylib
find一下找到路径然后链接过去就行ln -s /usr/local/mysql-5.6.28-osx10.8-x86_64/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
2. No module named MySQLdb
没有安装mysql-python, 安装即可
3. this is MySQLdb version (1, 2, 4, 'beta', 4), but _mysql is version (1, 2, 5, 'final', 1)
这个是mysql-python的版本不对,要降会1.2.4b4,然而在pip的时候下载distribute的时候报了ssl的错,所以手动下载distribute的tar包然后放到mysql-python的安装包下面
重新python setup.py build / python setup.py install 之后解决问题