"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo solucionar \"Configurado incorrectamente: Error al cargar el módulo MySQLdb\" en Django en macOS?

¿Cómo solucionar \"Configurado incorrectamente: Error al cargar el módulo MySQLdb\" en Django en macOS?

Publicado el 2024-11-09
Navegar:259

How to Fix \

MySQL configurado incorrectamente: el problema con las rutas relativas

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

  1. Asegúrese de que libmysqlclient.18.dylib esté ubicado en /usr/local/ mysql/lib/.
  2. Ejecute el siguiente comando en la Terminal:
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.

Último tutorial Más>

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