«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как исправить «Неправильно сконфигурировано: ошибка загрузки модуля MySQLdb» в Django на macOS?

Как исправить «Неправильно сконфигурировано: ошибка загрузки модуля MySQLdb» в Django на macOS?

Опубликовано 9 ноября 2024 г.
Просматривать:522

How to Fix \

Неправильная настройка MySQL: проблема с относительными путями

При запуске сервера запуска Python Manage.py в Django вы можете столкнуться со следующей ошибкой:

ImproperlyConfigured: Error loading MySQLdb module: dlopen(/Library/Python/2.7/site-packages/_mysql.so, 2): Library not loaded: libmysqlclient.18.dylib
  Referenced from: /Library/Python/2.7/site-packages/_mysql.so
  Reason: unsafe use of relative rpath libmysqlclient.18.dylib in /Library/Python/2.7/site-packages/_mysql.so with restricted binary

Причина

Эта ошибка возникает из-за реализации Apple защиты целостности системы в OS X El Capitan (10.11). Это предотвращает доступ программ в защищенных местах, таких как /usr, к общим библиотекам с использованием относительных ссылок.

В этом случае общая библиотека _mysql.so содержит относительную ссылку на libmysqlclient.18.dylib.

Решение

Чтобы решить эту проблему, вам нужно будет заставить _mysql.so использовать абсолютную ссылку на libmysqlclient.18.dylib. Этого можно добиться с помощью утилиты install_name_tool.

Шаги по устранению проблемы

  1. Убедитесь, что libmysqlclient.18.dylib находится в /usr/local/ mysql/lib/.
  2. Выполните следующую команду в Терминал:
sudo install_name_tool -change libmysqlclient.18.dylib \
  /usr/local/mysql/lib/libmysqlclient.18.dylib \
  /Library/Python/2.7/site-packages/_mysql.so

Эта команда обновит ссылку на общую библиотеку в _mysql.so, чтобы использовать абсолютный путь к libmysqlclient.18.dylib.

После запуска этой команды вы сможете успешно запустить сервер запуска Python Manage.py без ошибки конфигурации MySQL.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3