mac mysql mysqldb_如何在Mac OS X上安装MySQLdb(Python数据访问库到MySQL)?

这里是我对这个问题的漫游经验的故事。愿意看到它编辑或一般化,如果你有更好的经验的问题…适用一点的魔法。

注意:下一段的注释适用于Snow Leopard,但不适用于Lion,这似乎需要64位MySQL

首先,MySQLdb的作者(仍然?)说here最有害的问题之一是OS X安装了一个32位版本的Python,但大多数平均joes(我自己包括)可能会跳转到安装64位版本的MySQL。坏的移动…删除64位版本,如果你已经安装它(在这个fiddly任务的说明可用在SO here),然后下载并安装32位版本(包here)

有关如何构建和安装MySQLdb库的众多步骤。他们经常有微妙的差异。 This似乎是我最受欢迎的,并提供了工作解决方案。我已经复制它与下面几个编辑

步骤0:

在我开始之前,我假设你有MySQL,Python和GCC安装在mac上。

第2步:

解压缩您下载的软件包:

tar xzvf MySQL-python-1.2.2.tar.gz

步骤3:

在文件夹内,清洁包装:

sudo python setup.py clean

步骤3b:

删除MySQL-python-1.2.2 / build / *目录下的所有内容 – 不要信任“python setup.py clean”为您执行此操作

步骤3c:

删除用户/ $ USER / .python-eggs下的蛋

步骤4:

最初需要编辑_mysql.c,但现在不长的必要。 MySQLdb社区似乎已经修复了这个bug。

步骤5:

在lib下创建一个符号链接,指向一个名为mysql的子目录。这是编译期间查找的位置。

sudo ln -s /usr/local/mysql/lib /usr/local/mysql/lib/mysql

步骤6:

编辑setup_posix.py并更改以下内容

mysql_config.path =“mysql_config”

mysql_config.path =“/usr/local/mysql / bin / mysql_config”

步骤7:

在同一目录中,重新构建包(忽略其附带的警告)

sudo python setup.py build

步骤8:

安装软件包,你就完成了。

sudo python setup.py install

步骤9:

测试它是否工作。它工作,如果你可以导入MySQLdb。

python

>>>>导入MySQLdb

步骤10:

如果尝试导入时,您收到一个错误,抱怨Library未加载:libmysqlclient.18.dylib结尾为:原因:image找不到,您需要创建一个额外的符号链接,它是:

sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib

然后你应该能够导入MySQLdb没有任何错误。

一个最后的打嗝是,如果你从构建目录启动Python,你会得到这个错误:

/Library/Python/2.5/site-packages/MySQL_python-1.2.3c1-py2.5-macosx-10.5-i386.egg/_mysql.py:3:UserWarning:模块_mysql已从/Library/Python/2.5/导入site-packages / MySQL_python-1.2.3c1-py2.5-macosx-10.5-i386.egg / _mysql.pyc,但XXXX / MySQL-python-1.2.3c1被添加到sys.path

这是很容易谷歌,但为了节省您的麻烦,你会结束here(或者也许没有…不是一个特别是未来的URL),并弄清楚,你需要cd ..出的build目录和错误应该消失。

正如我在顶部写的,我很想看到这个回答泛化,因为有很多其他具体的经验,这个可怕的问题。编辑离开,或提供自己的,更好的答案。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值