我和许多其他人一样,试图让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,似乎也没有任何关于它的东西;它存在吗?
由于
答案 0 :(得分:0)
您针对MySQL 5.5.x构建了该模块,但系统上只提供了5.1.x的客户端库。安装更新的库,或者针对旧版本构建。
答案 1 :(得分:0)
绝对要确保Python和MySQL适用于相同的架构。您必须始终使用32位或64位版本。 还要确保MySQLdb可以找到MySQL库并包含,但是从您的错误消息中可能就是这种情况。