2011-04-19 116 views
2

我花了一些时间,感觉像永远在运行MySQL博客,并试图找出如何在Mac OS 10.6.7上安装MySQL服务器和MySQLdb for Python。我想我通过MacPorts安装了MySQL服务器(这已经耗尽了),但我无法用Python导入MySQLdb(downloaded from here)。在Mac OS X上导入MySQLdb for Python时出错

这是我得到的错误:

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修改到/用户/本地/ MySQL的/斌/ mysql_config的msyql_config路径的一个额外的步骤)

我也试图效仿this question的意见,但无法找到/User/$User/.python-eggs目录,所以不知道该怎么做。

任何想法?

+1

可能的重复[Python:MySQLdb和“Library not loaded:libmysqlclient.16.dylib”](http://stackoverflow.com/questions/4559699/python-mysqldb-and-library-not-loaded-libmysqlclient- 16-dylib) – DTing 2011-04-19 17:00:30

+0

刚刚注意到当你再次阅读你的问题时,你有“/ user/local/mysql/bin/mysql_config”,它应该是“/ usr/local/mysql ...”,注意“usr “目录NOT”user“ – 2011-04-19 17:03:38

+1

'/ Library/Frameworks/EPD64.framework/Versions/6.3'表示您已经安装并正在使用Enthought Python Distribution的Python。既然你已经从MacPorts安装了服务器,为什么不直接从MacPorts安装你需要的所有东西(Python,MySQLdb,MySQL客户端库),而不是在从不同源中提取组件的时候打破所有依赖关系? – 2011-04-19 17:18:32

回答

1

在你的问题的第二个链接那种包含了答案,但在这不必要打乱了这么多的信息.​​..

只要确保你有以下斌:/usr/local/mysql/bin/mysql_config

然后安装MySQLdb的时,所有你需要做的是在setup_posix.py改变mysql_config.path到:

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

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