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

Mary-Kate Olsen
Lepaskan: 2024-10-25 07:31:29
asal
215 orang telah melayarinya

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
Salin selepas log masuk

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
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan