"Import Error: dynamic module does not define init function (init_mysql)"在OS X上导入MySQLdb



我在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)

如何解决此问题?

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

除非您需要使用的Python,否则我强烈建议您从第三方软件包管理器中安装完整的解决方案。例如,如果您安装了Macports基础,则可以使用一个命令安装所需的所有内容(Python 2.7,MySQLDB,MySQL Client库和All Depertencies):

sudo port install py27-mysql

最新更新