Al ejecutar python Manage.py RunServer en Django, puede encontrar el siguiente error:
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
La causa
Este error se produce debido a la implementación de Apple de Protección de integridad del sistema en OS X El Capitan (10.11). Esto evita que los programas en ubicaciones protegidas como /usr accedan a bibliotecas compartidas usando referencias relativas.
En este caso, la biblioteca compartida _mysql.so contiene una referencia relativa a libmysqlclient.18.dylib.
La solución
Para resolver este problema, deberá forzar a _mysql.so a utilizar una referencia absoluta a libmysqlclient.18.dylib. Esto se puede lograr usando la utilidad install_name_tool.
Pasos para resolver el problema
sudo install_name_tool -change libmysqlclient.18.dylib \ /usr/local/mysql/lib/libmysqlclient.18.dylib \ /Library/Python/2.7/site-packages/_mysql.so
Este comando actualizará la referencia de la biblioteca compartida en _mysql.so para usar la ruta absoluta a libmysqlclient.18.dylib.
Después de ejecutar este comando, debería poder ejecutar correctamente python Manage.py RunServer sin el error de configuración de MySQL.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3