在mac下使用python开发,需要用到mysqldb模块,安装这个模块可是费老鼻子劲了。
这里汇总一下安装时需要注意的问题和地址,方便以后查找。
安装mysqldb前,这是非常重要的一步。
然后先下载mysql-python,我用easy_install pip下载安装都出错了,没有办法就手工下载了。
在控制台 执行 sudo python setup.py install 会报错
sh: mysql_config: command not foundTraceback (most recent call last): File "setup.py", line 18, inmetadata, options = get_config()
File "/Users/daodao/Desktop/Mysql/setup_posix.py", line 43, in get_config
libs = mysql_config("libs_r")
File "/Users/daodao/Desktop/Mysql/setup_posix.py", line 25, in mysql_config
raise EnvironmentError("%s not found" % (mysql_config.path,))
EnvironmentError: mysql_config not found
碰到这个不要怕。
需要你在下载的mysql-python 中 找到setup_posix.py 修改里面的mysql_config.path
把mysql_config.path = "mysql_config"
修改成你自己的地址
mysql_config.path = "/usr/local/mysql-5.6.14-osx10.7-x86_64/bin/mysql_config"
修改后,再执行 sudo python setup.py install
就应该成功了。
这个时候 你在python开发环境中,import mysqldb run一下 看看是否报错。
如果抱下 面这个错,不要怕,哥在网上查到办法了
Traceback (most recent call last): File "", line 1, inFile "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.6-intel.egg/MySQLdb/__init__.py", line 19, inimport _mysql
ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.6-intel.egg/_mysql.so, 2): Library not loaded: libmysqlclient.18.dylib
Referenced from: /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.6-intel.egg/_mysql.so
Reason: image not found
需要修改,.bash_profile
在该文件末尾,加上 export DYLD_LIBRARY_PATH="/usr/local/mysql/lib"
然后保存,执行source 使之生效
然后 在控制台 你试试 输入 mysql , 如果下面的错误,不要怕
-bash: mysql: command not found
打开控制台 输入以下两个指令:
sudo ln -s /usr/local/mysql/bin/mysql /usr/bin
sudo sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
然后就没有坑了。
过程中吸取的教训
1、mysqldb 以来mysql的lib client 模块,建议最好装上mysql
2、mysqldb .hash_profeile mysql映射路径 都需要调整
3、easy_install pip这个过程中都很难拍上用场,建议全部手工操作
4、不要网上说的安装libmysqlclient-dev,反正我被误导了,根本不知道从哪里下载。
有价值的地址,我是通过这些文章解决的问题:
http://segmentfault.com/q/1010000000329095
http://blog.csdn.net/evan2008/article/details/8017639