Python-MySQLdb问题:错误的ELF类:ELFCLASS32

1 投票
1 回答
7424 浏览
提问于 2025-04-15 18:33

我在尝试使用django CMS(http://www.django-cms.org/)的时候,遇到了让Python-MySQLdb工作的问题(http://pypi.python.org/pypi/MySQL-python/)。

  • 我已经安装了Django CMS和它需要的所有东西(Python 2.5、Django、django-south、MySQL服务器)
  • 我正在尝试在Django CMS的代码中使用MySQL作为数据库类型的示例代码

当我执行 python manage.py syncdb 时,出现了以下错误:

django.core.exceptions.ImproperlyConfigured: 加载MySQLdb模块时出错: /root/.python-eggs/MySQL_python-1.2.3c1-py2.5-linux-i686.egg-tmp/_mysql.so: 错误的ELF类:ELFCLASS32

我已经能够确定问题出在python-mySQLdb上(在错误堆栈中也能看到)。除此之外,我完全搞不懂。我不知道ELFCLASS32是什么意思,或者ELF类是什么。

我怀疑这个错误可能和我在64位的Debian 5(在一个虚拟专用服务器上)运行有关。

有没有什么好的方法来排查这个问题?

1 个回答

8

是的,位数的不同就是造成这个问题的原因。你需要找到或者自己制作一个64位的MySQLdb版本。

ELF是可执行和可链接格式的意思。ELFCLASS32表示这是一个32位的ELF文件。

撰写回答