Ao executar python manage.py runserver no Django, você pode encontrar o seguinte erro:
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
A causa
Este erro ocorre devido à implementação da proteção de integridade do sistema pela Apple no OS X El Capitan (10.11). Isso evita que programas em locais protegidos como /usr acessem bibliotecas compartilhadas usando referências relativas.
Neste caso, a biblioteca compartilhada _mysql.so contém uma referência relativa a libmysqlclient.18.dylib.
A solução
Para resolver esse problema, você precisará forçar _mysql.so a usar uma referência absoluta para libmysqlclient.18.dylib. Isso pode ser feito usando o utilitário install_name_tool.
Etapas para resolver o 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 atualizará a referência da biblioteca compartilhada em _mysql.so para usar o caminho absoluto para libmysqlclient.18.dylib.
Depois de executar este comando, você poderá executar python manager.py runserver com êxito sem o erro de configuração do MySQL.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3