2

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

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)

我该如何解决这个问题?

4

1 回答 1

4

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

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

sudo port install py27-mysql
于 2012-11-05T08:19:55.130 回答