При запуске сервера запуска 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.
Шаги по устранению проблемы
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