Установленный Django из источника (Python setup.py установка и такой), установил MySQLdb из источника (Python setup.py сборка, Python setup.py установка). Используя Python 2.4, который появился установленный в ОС (CentOS 5.5). Получение следующего сообщения об ошибке после запуска сервера:
Error loading MySQLdb module: No module named MySQLdb
pythonpath, который обеспечивает информация об отладке, включает
'/usr/lib/python2.4/site-packages'
и все же, если я ls
тот каталог, я могу явно видеть
MySQL_python-1.2.3-py2.4-linux-i686.egg
Используя Python интерактивная оболочка, я могу ввести import MySQLdb
и это не производит ошибок. Это приводит меня полагать, что это - Django, соединяющий проблему каналом, но у меня нет малейшей подсказки, где начать смотреть, поскольку я плохо знаком с Django и для Python.
Править: И быть немного более конкретным, все в настоящее время работает как корень. Я не имею, устанавливают любых пользователей все же на машине, таким образом, ни один не существует кроме корня.
EDITx2: И быть еще более конкретным, веб-сервер чероки, и развертывающийся использующий uWSGI. Все установленные из источника.
Вы можете узнать, где Python ищет свои библиотеки, вызвав "python manage.py shell" из базы каталогов вашего проекта Django. Затем выполните:
import sys
import pprint
pprint.pprint(sys.path)
И вы увидите, откуда питон извлекает библиотеки. Также попробуйте выполнить «import mysql», чтобы увидеть, не вызывает ли это ошибки.
Наконец, путь для службы WSGI (вероятно) настроен с помощью настройки uWSGI в Cherokee - извините, я не знаю подробностей этого существа, чтобы сделать предложения о том, как определить, где и как он загружает путь к библиотеке .
Думали ли вы об установке MySQLdb из пакетов Python?
Я бы также рекомендовал сделать это с помощью pip
вместо easy_install
.
Сначала вы можете заменить easy_install
на pip
:
easy_install pip
pip install pip --upgrade
А затем установить Django через PIP:
pip install MySQL-python
pip install Django
Обычно easy_install
уже установлен (часть setuptools), а pip намного лучше. Он также предлагает варианты удаления и использует плоские каталоги установки вместо волшебных файлов EGG. Это также может устранить некоторые несовместимости.