python - 用于 Python 的 MySQLdb - 不兼容的库版本错误?

标签 python mysql django installation

我和许多其他人一样,试图让 MySQLdb for 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,但似乎什么也没有;存在吗?

谢谢

最佳答案

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

关于python - 用于 Python 的 MySQLdb - 不兼容的库版本错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4989786/

相关文章:

python - 抑制 rpy2 中的警告

android - 从 android 向 mysql 插入值

python - 修复列 "date_of_birth"中的空值违反了非空约束

python - Django 检查表单输入字段是否不为空

mysql - 记录后立即访问存储在DB表中的 `latest`记录

javascript - PostgreSQL (pgAdmin) 和跨站点 cookie 警告

python - Python方式为一维数组中的每个元素在第三维创建新的二维数组

python 子进程调用 OSX

python - Series.sort() 和 Series.order() 有什么区别?

mysql - 将 mysqldump 数据填充到表 : only for rows which exist in a given database