MySQLdb for Python - 不兼容的库版本错误?

时间:2011-02-14 07:34:22

标签: python mysql django install

我和许多其他人一样,试图让MySQL的Python在Mac Snow Leopard(10.6.x)上运行,并且我已经能够按照各种博客/论坛帖子的建议安装64位MySQL DMG,我已经能够使用

安装setuptools和MySQLDB本身
ARCHFLAGS='-arch 86_64' python2.7 setup.py clean
ARCHFLAGS='-arch 86_64' python2.7 setup.py build
sudo ARCHFLAGS='-arch 86_64' python2.7 setup.py install

从上面你可以看到我升级到Python 2.7,一切似乎都很好;除非我尝试将MySQLdb导入python shell。

>>> import MySQLdb
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "build/bdist.macosx-10.6-universal/egg/MySQLdb/__init__.py", line 19, in <module>
  File "build/bdist.macosx-10.6-universal/egg/_mysql.py", line 7, in <module>
  File "build/bdist.macosx-10.6-universal/egg/_mysql.py", line 6, in __bootstrap__
ImportError: dlopen(/Users/ad/.python-eggs/MySQL_python-1.2.3c1-py2.6-macosx-10.6-universal.egg-tmp/_mysql.so, 2): Library not loaded: /usr/local/mysql/lib/libmysqlclient.16.dylib
  Referenced from: /Users/ad/.python-eggs/MySQL_python-1.2.3c1-py2.6-macosx-10.6-universal.egg-tmp/_mysql.so
  Reason: Incompatible library version: _mysql.so requires version 17.0.0 or later, but libmysqlclient.16.dylib provides version 16.0.0

我做了搜索,发现了libmysqlclient.16.dylib,但没有找到libmysqlclient.17.dylib

是什么导致了这个问题,我该怎么解决它,即使我搜索了libmysqlclient.17.dylib,似乎也没有任何关于它的东西;它存在吗?

由于

2 个答案:

答案 0 :(得分:0)

您针对MySQL 5.5.x构建了该模块,但系统上只提供了5.1.x的客户端库。安装更新的库,或者针对旧版本构建。

答案 1 :(得分:0)

绝对要确保Python和MySQL适用于相同的架构。您必须始终使用32位或64位版本。 还要确保MySQLdb可以找到MySQL库并包含,但是从您的错误消息中可能就是这种情况。