Mac OS X 10.8 XCODE5.2环境下安装python-MySQLdb问题

作者: tcxurun 分类: MySQL, Python 发布时间: 2014-06-14 00:20 ė 6 没有评论

许多人都推荐Mac电脑,说高效,打算这台电脑性能跟不上的时候买台RMBP,以前用过一段时间朋友的Mac电脑,很难用,现在想着以后要换,就现在Vmware里安装Mac OS吧,熟悉一下。

今天因为学习python,需要和数据库交互,就打算在Mac OS下安装一下MySQL,安装这个比较顺利,但是Mac自带的python没有MySQLdb,需要重新安装,遇到了很多麻烦,总结记录一下。

安装python-mysqldb有两种方法:

1、联网下载,使用sudo easy_install mysql-python命令安装,但是基本上不会成功的,原因有两个:一是找不到mysql_config位置,二是现在基本上安装的是64位的系统和64位的python,和默认的32位安装包冲突。我在尝试的时候是找不到mysql_config位置。

2、手动安装,去http://sourceforge.net/projects/mysql-python/files/下载,解压后修改site.cfg:将mysql_config注释取消并将路径更改为mysql安装路径:
[sourcecode language=”Python”]
mysql_config = /usr/local/mysql/bin/mysql_config
[/sourcecode]


然后执行
[sourcecode language=”Python”]
python setup.py install
[/sourcecode]

但是报错,
2014-06-13_224918
网上有的的资料说是去Xcode的Preference的Download下的Components下载command line tool
我下载后执行还是报那个错误,查了一下说是
mac os的Xcode从5.1起给编译器规定对于未知参数传入视为error,我们需要使用ARCHFLAGS将该error降级为warning,因此最后的安装命令应该如下:
[sourcecode language=”Python”]
sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future python setup.py install
[/sourcecode]

此时安装没有报错,但是执行

python

进入python环境执行
[sourcecode language=”Python”]
import MySQLdb
[/sourcecode]
报以下错误:

Traceback (most recent call last):
  File "./b", line 26, in 
    import MySQLdb
  File "/Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.8-intel.egg/MySQLdb/__init__.py", line 19, in 
    import _mysql
ImportError: dlopen(/Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.8-intel.egg/_mysql.so, 2): no suitable image found.  Did find:
	/Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.8-intel.egg/_mysql.so: mach-o, but wrong architecture

解决方法是:需要解决动态引入的问题了(重新做一遍,重新编译)
[sourcecode language=”Python”]
python setup.py clean
sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future python setup.py build
sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future python setup.py install
[/sourcecode]

终端进python
[sourcecode language=”Python”]
import MySQLdb
[/sourcecode]
还会报一个错误,
image not
这是因为没有设置环境变量,

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

然后就好了

本文出自天一直很蓝,转载时请注明出处及相应链接。

本文永久链接: http://www.tcxurun.cn/archives/237

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Ɣ回顶部