Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Membetulkan \"ImproperlyConfigured: Ralat memuatkan modul MySQLdb\" dalam Django pada macOS?

Bagaimana untuk Membetulkan \"ImproperlyConfigured: Ralat memuatkan modul MySQLdb\" dalam Django pada macOS?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-25 07:31:29150semak imbas

How to Fix

MySQL Tidak Dikonfigurasikan dengan betul: Masalah dengan Laluan Relatif

Apabila menjalankan python manage.py runserver dalam Django, anda mungkin menghadapi ralat berikut:

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

Puncanya

Ralat ini berlaku disebabkan oleh pelaksanaan Perlindungan Integriti Sistem oleh Apple dalam OS X El Capitan (10.11). Ini menghalang program di lokasi yang dilindungi seperti /usr daripada mengakses perpustakaan kongsi menggunakan rujukan relatif.

Dalam kes ini, perpustakaan kongsi _mysql.so mengandungi rujukan relatif kepada libmysqlclient.18.dylib.

Penyelesaian

Untuk menyelesaikan isu ini, anda perlu memaksa _mysql.so untuk menggunakan rujukan mutlak kepada libmysqlclient.18.dylib. Ini boleh dicapai menggunakan utiliti install_name_tool.

Langkah-Langkah untuk Menyelesaikan Isu

  1. Pastikan libmysqlclient.18.dylib terletak di /usr/local/ mysql/lib/.
  2. Jalankan arahan berikut dalam Terminal:
sudo install_name_tool -change libmysqlclient.18.dylib \
  /usr/local/mysql/lib/libmysqlclient.18.dylib \
  /Library/Python/2.7/site-packages/_mysql.so

Arahan ini akan mengemas kini rujukan perpustakaan kongsi dalam _mysql.so untuk menggunakan laluan mutlak ke libmysqlclient. 18.dylib.

Selepas menjalankan arahan ini, anda sepatutnya berjaya menjalankan python manage.py runserver tanpa ralat konfigurasi MySQL.

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan \"ImproperlyConfigured: Ralat memuatkan modul MySQLdb\" dalam Django pada macOS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn