【发布时间】:2013-10-01 11:42:20
【问题描述】:
我是 mac 和 python 的新手。我已经为 python mac 安装了 mysqldb。但是当我尝试导入它时,这是我得到的错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Library/Python/2.6/site-packages/MySQLdb/__init__.py", line 19, in <module>
import _mysql
ImportError: dlopen(/Library/Python/2.6/site-packages/_mysql.so, 2): Symbol not found: _strnlen
Referenced from: /usr/lib/libmysqlclient.18.dylib
Expected in: /usr/lib/libSystem.B.dylib
in /usr/lib/libmysqlclient.18.dylib
为什么会出现这个错误?我该如何解决?我已经尝试了在 SO 上发布的大量答案,但似乎没有任何效果。我应该怎么做才能解决这个错误?
谢谢。
【问题讨论】:
-
你是怎么安装mysql的? (以及你是如何将它放入 /usr/lib 的?)你是如何安装 Python 模块的?你有哪个版本的 OS X?
-
1)我用谷歌搜索了如何在 mac 上取消隐藏 usr 目录。然后进入它。 mysql已经安装在mac上。我认为使用 wampp。 2)python2.6 已经安装在我开始工作的这台机器上。如果你问我是如何安装 mysqldb 的,我下载了一个 zip 文件并运行 setup.py(阅读 SO 上的说明) 3)我有 10.6.8 版现在,你能帮帮我吗?
-
Python2.6 内置在 OS X 上。MySQL 没有,Python mysqldb 模块也没有。无论如何,仅仅告诉我“我认为使用 wampp”和“下载了一个 zip 文件”并不足以告诉我诊断问题。很明显有些东西是错误的,但我不知道是什么,或者为什么,你让我无法重现它或识别一个已知的问题或任何东西。所以,我只能说,卸载并重新安装它们。
-
1) 准确地说,我按照这里的步骤操作:stackoverflow.com/questions/1448429/… 看到 74 票赞成的答案。 2)我已经卸载并再次使用 pip 安装 >>pip install mysqldb-python 还有什么可以帮助您诊断的吗?
-
意思是您从here 下载并安装了 32 位 MySQL,或者只是使用其他一些 MySQL 安装步骤 1-10?