2010-01-27 88 views
1

作为试用django CMS(http://www.django-cms.org/)的一部分,我努力使Python-MySQLdb正常工作(http://pypi.python.org/pypi/MySQL-python/)。Python-MySQLdb问题:错误的ELF类:ELFCLASS32

  • 我已经安装的Django CMS和所有的依赖(Python 2.5的,Django的,Django的南部,MySQL服务器)
  • 我与MySQL尝试示例代码Django的CMS代码内,选择的数据库类型

当我执行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(在VPS上)有关。

任何好主意如何排除故障?

回答

8

是的,位差是造成这种情况的原因。查找或构建64位版本的MySQLdb。

ELFExecutable and Linkable FormatELFCLASS32意味着它是一个32位ELF文件。

+0

谢谢你一个很好的解释!现在我只需要找到如何编译或查找64位版本的MySQLdb。 – jsalonen 2010-01-27 19:51:35

+0

...或使用您的32位MySQLdb与32位版本的Python。 – mark4o 2010-01-27 19:51:49

+0

非常感谢很多家伙,它现在可以运行!我为我的系统检索了正确的.egg,它现在就像一个魅力! 最后一个问题是无效的.egg文件部署在Python的站点包(/usr/lib/python2.5/site-packages/)下。我删除它,新文件现在正确加载! – jsalonen 2010-01-27 23:42:07