Возникла проблема с настройкой MySQLdb в Mac OS X Lion для поддержки Django - PullRequest
2 голосов
/ 30 сентября 2011

Так что я почти уверен, что мне удалось исправить мою установку MySQLdb. У меня все следующее установлено правильно на новой установке OS X Lion:

  1. PHPMYADMIN

  2. MySQL 5.5.16

  3. Джанго 1.3.1

И все же когда я пытаюсь запустить " из django.db import connection" в консоли django, я получаю следующее:

из django.db Импорт соединения Traceback (последний вызов последнее): файл "", строка 1, в файле "/Library/Python/2.7/site-packages/Django-1.3.1-py2.7.egg/django/db/init.py", строка 78, в соединение = файл соединений [DEFAULT_DB_ALIAS] "/Library/Python/2.7/site-packages/Django-1.3.1-py2.7.egg/django/db/utils.py", строка 93, в getitem файл backend = load_backend (db ['ENGINE']) "/Library/Python/2.7/site-packages/Django-1.3.1-py2.7.egg/django/db/utils.py", строка 33, в load_backend вернуть файл import_module ('. base', backend_name) "/Library/Python/2.7/site-packages/Django-1.3.1-py2.7.egg/django/utils/importlib.py", строка 35, в import_module импорт (имя) файла "/Library/Python/2.7/site-packages/Django-1.3.1-py2.7.egg/django/db/backends/mysql/base.py", строка 14, в поднять ImproperlyConfigured («Ошибка загрузки модуля MySQLdb:% s»% e) Неправильно настроено: Ошибка загрузки модуля MySQLdb: dlopen (/ Users / [my имя пользователя] /. питон-яйца / MySQL_python-1.2.3-py2.7-MacOSX-10,7-intel.egg-TMP / _mysql.so, 2): библиотека не загружена: libmysqlclient.18.dylib Ссылка на: / Users / [мой имя пользователя] /. питон-яйца / MySQL_python-1.2.3-py2.7-MacOSX-10,7-intel.egg-TMP / _mysql.so Причина: изображение не найдено

Понятия не имею, почему это происходит, может кто-нибудь помочь мне пройти через это?

Ответы [ 3 ]

5 голосов
/ 19 августа 2012

Я нашел следующее решение этой проблемы. Это сработало для меня. Я столкнулся с этой проблемой, когда запускал консоль Python из PyCharm.

sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib

3 голосов
/ 30 сентября 2011

Легко

отредактируйте ваш .bash_profile (vi ~ / .bash_profile) где-нибудь в этом месте и добавьте следующую строку:

export DYLD_LIBRARY_PATH = "/ usr / local / mysql / lib"

В этой строке предполагается, что каталог установки mysql находится в / usr / local / mysql /.

Это решит выполнение через прерыватель python, запущенный в оболочке (.bash_profile экспортирует путь, необходимый модулю MySQLdb для загрузки 'libmysqlclient.18.dylib').

Если у вас возникла эта проблема с Python IDE, например PyCharm, добавьте переменную DYLD_LIBRARY_PATH в конфигурацию запускающего модуля.

Надеюсь, это поможет:)

Кроме того,

Чтобы полностью понять эту проблему, прочитайте следующий раздел:

http://mysql -python.sourceforge.net / faq.html # ImportError

Это подробно объясняет эту ошибку

1 голос
/ 30 сентября 2011

Установите pip, если вы этого еще не сделали, и запустите

pip install MySQL-Python

...