」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何修復 macOS 上 Django 中的「配置不正確:載入 MySQLdb 模組時出錯」?

如何修復 macOS 上 Django 中的「配置不正確:載入 MySQLdb 模組時出錯」?

發佈於2025-01-11
瀏覽:864

How to Fix \

MySQL配置不正確:相對路徑的問題

在Django中運行python manage.py runserver時,可能會遇到以下錯誤:

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

原因

出現此錯誤的原因是Apple 在OS X El Capitan (10.11) 中實施了系統完整性保護。這可以防止 /usr 等受保護位置中的程式使用相對引用存取共用程式庫。

在這種情況下,共享庫 _mysql.so 包含對 libmysqlclient.18.dylib 的相對引用。

解決方案

要解決此問題,您需要強制 _mysql.so 使用絕對引用libmysqlclient.18.dylib。這可以使用 install_name_tool 實用程式來實現。

解決問題的步驟

  1. 確保libmysqlclient.18.dylib 位於/usr/local/ mysql/lib/.
  2. 在終端機中執行以下指令:
sudo install_name_tool -change libmysqlclient.18.dylib \
  /usr/local/mysql/lib/libmysqlclient.18.dylib \
  /Library/Python/2.7/site-packages/_mysql.so

此指令將更新 _mysql.so 中的共用函式庫引用以使用 libmysqlclient.18.dylib 的絕對路徑。

運行此命令後,您應該能夠成功運行 python manage.py runserver,並且不會出現 MySQL 配置錯誤。

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3