"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como corrigir “Configuração incorreta: Erro ao carregar o módulo MySQLdb” no Django no macOS?

Como corrigir “Configuração incorreta: Erro ao carregar o módulo MySQLdb” no Django no macOS?

Publicado em 2024-11-09
Navegar:611

How to Fix \

MySQL configurado incorretamente: o problema com caminhos relativos

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

  1. Certifique-se de que libmysqlclient.18.dylib esteja localizado em /usr/local/ mysql/lib/.
  2. Execute o seguinte comando no 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 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.

Tutorial mais recente Mais>

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