2010-01-27 4 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, Джанго-юг, 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 (на VPS).

Любые хорошие идеи по устранению неполадок?

ответ

8

Да, разница в бит является причиной этого. Найдите или создайте 64-битную версию MySQLdb.

ELF является Executable and Linkable Format. ELFCLASS32 означает, что это 32-разрядный файл ELF.

+0

Благодарим вас за очень хорошее объяснение! Теперь мне просто нужно найти, как скомпилировать или найти 64-битную версию MySQLdb. – jsalonen

+0

... или используйте 32-битный MySQLdb с 32-разрядной версией python. – mark4o

+0

Спасибо большое, ребята, ЭТО РАБОТАЕТ СЕЙЧАС! Я получил правильную .egg для моей системы, и теперь она работает как очарование! Последней проблемой было то, что недопустимый .egg-файл был развернут в пакетах сайта Python (/usr/lib/python2.5/site-packages/). Я удалил его, и новый файл загрузился правильно! – jsalonen

Смежные вопросы