Maison > base de données > tutoriel mysql > Comment résoudre l'erreur « Bibliothèque non chargée : libmysqlclient.18.dylib » dans Django sur macOS El Capitan ?

Comment résoudre l'erreur « Bibliothèque non chargée : libmysqlclient.18.dylib » dans Django sur macOS El Capitan ?

Susan Sarandon
Libérer: 2024-10-25 03:44:02
original
610 Les gens l'ont consulté

How to Resolve

Bibliothèque non chargée : libmysqlclient.18.dylib en raison d'un chemin relatif non sécurisé

Énoncé du problème :

Lors de l'exécution de la commande "python manage.py runserver" de Django, une erreur se produit en raison d'une utilisation non sécurisée d'un chemin relatif dans "_mysql.so" lors du chargement du module MySQLdb. L'erreur se lit :

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
Copier après la connexion

Résolution :

Cette erreur se produit car macOS El Capitan introduit la protection de l'intégrité du système, qui empêche les programmes d'accéder aux bibliothèques partagées à l'aide de références relatives. "_mysql.so" a une référence relative à "libmysqlclient.18.dylib", mais cela est désormais interdit.

Pour résoudre ce problème, une référence absolue doit être forcée pour "_mysql.so" à l'aide de l'outil "install_name_tool " utilitaire. Voici comment procéder :

  1. Assurez-vous que "libmysqlclient.18.dylib" se trouve dans "/usr/local/mysql/lib/".
  2. Exécutez la commande suivante dans le terminal :
sudo install_name_tool -change libmysqlclient.18.dylib \
  /usr/local/mysql/lib/libmysqlclient.18.dylib \
  /Library/Python/2.7/site-packages/_mysql.so
Copier après la connexion

Cette commande modifie "_mysql.so" pour utiliser le chemin absolu vers "libmysqlclient.18.dylib", résolvant ainsi le problème de chemin relatif non sécurisé.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal