2010-01-27 89 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