在Mac OS X上导入MySQLdb for Python时出错

时间:2011-04-19 16:41:13

标签: python mysql macos

我花了很多时间感觉像MySQL博客和SO问题,试图找出如何在我的Mac OS 10.6.7上安装MySQL服务器和MySQLdb for Python。我想我通过MacPorts安装了MySQL服务器(花了很长时间),但我不能用Python导入MySQLdb(downloaded from here)。

这是我得到的错误:

import MySQLdb
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Library/Frameworks/EPD64.framework/Versions/6.3/lib/python2.6/site-packages/MySQL_python-1.2.3-py2.6-macosx-10.5-x86_64.egg/MySQLdb/__init__.py", line 19, in <module>
import _mysql
ImportError: dlopen(/Library/Frameworks/EPD64.framework/Versions/6.3/lib/python2.6/site-packages/MySQL_python-1.2.3-py2.6-macosx-10.5-x86_64.egg/_mysql.so, 2): Library not loaded: libmysqlclient.18.dylib
Referenced from: /Library/Frameworks/EPD64.framework/Versions/6.3/lib/python2.6/site-packages/MySQL_python-1.2.3-py2.6-macosx-10.5-x86_64.egg/_mysql.so
Reason: image not found

我按照this question上的说明清理并重新安装MySQLdb安装。通过这些步骤一切正常,但它导致了同样的错误。

我也不确定为什么要调用EPD64.framework目录 - 模块文件夹和内容实际上包含在/Library/Frameworks/Python.Framework/.../site-packages中。 MacPorts可以在某处穿过电线吗?

(我做了一个额外的步骤,将site.cfg中的msyql_config路径修改为/ user / local / mysql / bin / mysql_config)

我也尝试遵循this question的建议,但根本找不到/User/$User/.python-eggs目录,所以不知道如何处理。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

你问题中的第二个链接包含了答案,但是有太多额外的信息被包含在内,这是不必要的......

只需确保您拥有以下垃圾箱:/usr/local/mysql/bin/mysql_config

然后在安装MySQLdb时,您需要做的就是将mysql_config.path中的setup_posix.py更改为:

mysql_config.path = "/usr/local/mysql/bin/mysql_config"

尝试简单地这样做,不要做他们建议的符号链接或清理鸡蛋等。