jlthlx 发表于 2015-12-30 12:09:12

Mac OS 10.8 virtualenv安装mysql-python 碰到的问题

系统中已经安装好32位mysql以及virtualenv.创建一个env环境并激活后安装mysql-python 失败。
错误日志如下:
File "setup_posix.py", line 25, in mysql_config
raise EnvironmentError("%s not found" % (mysql_config.path,))
EnvironmentError: mysql_config not found

http://blog.infoentropy.com/MySQL-python_EnvironmentError_mysql_config_not_found

实际上mysql是安装了的。因为mysql在Mac OS下的安装不是标准的目录,所以找不到mysql_config文件。
需要修改Mysql-python的site.cfg文件指定mysql_config的位置。
而使用pip安装的时候,默认会在env/build目录下载安装包并解压,因此可以找到并修改site.cfg.



mysql_config = /usr/local/mysql/bin/mysql_config

配置完成之后,再使用pip进行安装

pip install mysql-python

提示安装成功。

运行 >>> import MySQLdb
还是报错:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/xxx/flask-env/lib/python2.7/site-packages/MySQLdb/__init__.py", line 19, in <module>
    import _mysql
ImportError: dlopen(/Users/junwei/flask-env/lib/python2.7/site-packages/_mysql.so, 2): no suitable image found.Did find:
/Users/xxx/flask-env/lib/python2.7/site-packages/_mysql.so: mach-o, but wrong architecture

根据提示信息,应该是32位msyql引起的。
于是重新安装mysql
需要先把32位的卸载。注意卸载之前先要备份数据。
停止服务:
http://www.itry.me/?p=91

卸载:
http://stackoverflow.com/questions/1436425/how-do-you-uninstall-mysql-from-mac-os-x


完成之后安装64位的mysql。

然后把mysql-python卸载并重新安装。
检验一下是否安装成功:
>>> import MySQLdb
还是出错:

....
image not found
参考:http://blog.csdn.net/waleking/article/details/7483391可以得知,是DYLD_LIBRARY_PATH配置的问题。
DYLD类似于windows的path,说明mysql lib的目录没有包含在DYLD当中。

修改DYLD_LIBRARY_PATH:


export DYLD_LIBRARY_PATH=/usr/local/mysql/lib:$DYLD_LIBRARY_PATH














来自为知笔记(Wiz)
页: [1]
查看完整版本: Mac OS 10.8 virtualenv安装mysql-python 碰到的问题