“导入错误:动态模块未定义init函数(init_mysql)”在OS X上导入MySQLdb

时间:2012-11-05 07:33:33

标签: python python-2.7

我在mac os x上安装了python的mysqldb,但它给了我以下错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "build/bdist.macosx-10.6-intel/egg/MySQLdb/__init__.py", line 19, in <module>
  File "build/bdist.macosx-10.6-intel/egg/_mysql.py", line 7, in <module>
  File "build/bdist.macosx-10.6-intel/egg/_mysql.py", line 6, in __bootstrap__
ImportError: dynamic module does not define init function (init_mysql)

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:4)

这很可能是由于您使用的Python,您安装的MySQLdb适配器和已安装的MySQL客户端库之间的体系结构不匹配。它们都需要至少有一个通用架构并在该架构中执行。您可能拥有一个仅32位的Python和一个仅64位的MySQL客户端库,反之亦然。确保它们匹配。

除非您需要使用的Python,否则我强烈建议您从第三方软件包管理器安装完整的解决方案。例如,如果您安装MacPorts基础,则可以使用一个命令安装所需的一切(Python 2.7,MySQLdb,MySQL客户端库和所有依赖项):

sudo port install py27-mysql