Maison > base de données > tutoriel mysql > le corps du texte

Comment réparer « ImproperlyConfigured : erreur de chargement du module MySQLdb » dans Django sur macOS ?

Mary-Kate Olsen
Libérer: 2024-10-25 07:31:29
original
149 Les gens l'ont consulté

How to Fix

MySQL mal configuré : le problème avec les chemins relatifs

Lors de l'exécution de python manage.py runserver dans Django, vous pouvez rencontrer l'erreur suivante :

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

La cause

Cette erreur se produit en raison de la mise en œuvre par Apple de la protection de l'intégrité du système dans OS X El Capitan (10.11). Cela empêche les programmes situés dans des emplacements protégés comme /usr d'accéder aux bibliothèques partagées à l'aide de références relatives.

Dans ce cas, la bibliothèque partagée _mysql.so contient une référence relative à libmysqlclient.18.dylib.

La solution

Pour résoudre ce problème, vous devrez forcer _mysql.so à utiliser une référence absolue à libmysqlclient.18.dylib. Ceci peut être réalisé à l'aide de l'utilitaire install_name_tool.

Étapes pour résoudre le problème

  1. Assurez-vous que libmysqlclient.18.dylib se trouve dans /usr/local/ mysql/lib/.
  2. Exécutez la commande suivante dans 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 mettra à jour la référence de la bibliothèque partagée dans _mysql.so pour utiliser le chemin absolu vers libmysqlclient. 18.dylib.

Après avoir exécuté cette commande, vous devriez pouvoir exécuter avec succès python manage.py runserver sans l'erreur de configuration MySQL.

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!