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
The 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
sudo install_name_tool -change libmysqlclient.18.dylib \ /usr/local/mysql/lib/libmysqlclient.18.dylib \ /Library/Python/2.7/site-packages/_mysql.so
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.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3