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

Mary-Kate Olsen
發布: 2024-10-25 07:31:29
原創
149 人瀏覽過

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 設定錯誤。

以上是如何修復 macOS 上 Django 中的「配置不正確:載入 MySQLdb 模組時出錯」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!