Django, не могущий найти модуль MySQLdb python

Установленный 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. Все установленные из источника.

19
задан Whellow 14 July 2010 в 02:57
поделиться

2 ответа

Вы можете узнать, где Python ищет свои библиотеки, вызвав "python manage.py shell" из базы каталогов вашего проекта Django. Затем выполните:

import sys
import pprint
pprint.pprint(sys.path)

И вы увидите, откуда питон извлекает библиотеки. Также попробуйте выполнить «import mysql», чтобы увидеть, не вызывает ли это ошибки.

Наконец, путь для службы WSGI (вероятно) настроен с помощью настройки uWSGI в Cherokee - извините, я не знаю подробностей этого существа, чтобы сделать предложения о том, как определить, где и как он загружает путь к библиотеке .

1
ответ дан 30 November 2019 в 02:20
поделиться

Думали ли вы об установке 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. Это также может устранить некоторые несовместимости.

33
ответ дан 30 November 2019 в 02:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: