OS X 10.11 Python 安装 MySQL-python

Python 2016-05-26 21:51 暂无评论

哦 MySQL 制霸全球??(怀疑脸

嗯是这样的!一开始想用的是 MongoDB 的,但是捣腾了一下感觉没有 MySQL 来的习惯,在 OS X 下装 MySQL-python 容易报错装不上,而且不想在物理机装上 MySQL 我只是用来写写东西啊。。连测试我都不想在本地测试的。。

因为 MySQL-python 依赖 mysql_config 如果这个文件不存在或者没有找到则无法正常安装上去。

今天抽空处理掉这个问题,其实也很好解决的,不需要安装 MySQL 只是下一下 MySQL 的包就可以了。

我这里用的是 MySQL5.7.12 for OS X 10.11 这个版本什么的无所谓,只要能正常装上 MySQL-python 就可以了。

wget -c http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.12-osx10.11-x86_64.tar.gz

解压 MySQL 包

tar zxvf mysql-5.7.12-osx10.11-x86_64.tar.gz

将 MySQL 移动到 /usr/local/ 下在安装 MySQL-python 的时候不会报错

mv mysql-5.7.12-osx10.11-x86_64 /usr/local/mysql

如果不想移动 MySQL 包到 /usr/local/ 的话,只能做软链接了。一般调用的时候报错如下:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "MySQLdb/__init__.py", line 19, in <module>
    import _mysql
ImportError: dlopen(/Library/Python/2.7/site-packages/MySQL_python-1.2.4-py2.7-macosx-10.11-intel.egg/_mysql.so, 2): Library not loaded: /usr/local/mysql/lib/libmysqlclient.20.dylib
  Referenced from: /Library/Python/2.7/site-packages/MySQL_python-1.2.4-py2.7-macosx-10.11-intel.egg/_mysql.so
  Reason: image not found

就是因为没有找到 libmysqlclient.20.dylib 这个文件。

默认安装 MySQL-python 的时候它会调用 /usr/local/bin/mysql_config 这个文件,如果没有找到则会报错。只要做一下软链接即可。

ln -s /usr/local/mysql/bin/mysql_config /usr/local/bin/

接着就可以安装 MySQL-python 了。

首先下载 MySQL-python 源码包(今天 pypi 好像维护了,找国内的镜像就可以了)

wget -c https://pypi.doubanio.com/packages/90/5a/ce7bef80825c2188cf507baf57b37516e18dffdb198a6766a597f703059a/MySQL-python-1.2.4.zip\#md5\=ddf2386daf10a97af115ffad2ed4a9a0
unzip MySQL-python-1.2.4.zip && cd MySQL-python-1.2.4
python setup.py build
python setup.py install
暂无评论