macOS El Capitan 上の Django で「ライブラリが読み込まれていません: libmysqlclient.18.dylib」エラーを解決する方法

Susan Sarandon
リリース: 2024-10-25 03:44:02
オリジナル
600 人が閲覧しました

How to Resolve

安全でない相対パスのため、ライブラリがロードされていません: libmysqlclient.18.dylib

問題ステートメント:

Django の「python manage.py runserver」コマンドを実行すると、MySQLdb モジュールのロード中に「_mysql.so」での相対パスの安全でない使用が原因でエラーが発生します。エラーは次のとおりです:

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
ログイン後にコピー

解決策:

このエラーは、macOS El Capitan がシステム整合性保護を導入し、プログラムが相対参照を使用して共有ライブラリにアクセスすることを制限するために発生します。 「_mysql.so」には「libmysqlclient.18.dylib」への相対参照がありますが、これは現在禁止されています。

これを解決するには、「install_name_tool」を使用して「_mysql.so」に絶対参照を強制する必要があります。 " ユーティリティ。方法は次のとおりです。

  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
ログイン後にコピー

このコマンドは、「libmysqlclient.18.dylib」への絶対パスを使用するように「_mysql.so」を変更し、安全でない相対パスの問題を解決します。

以上がmacOS El Capitan 上の Django で「ライブラリが読み込まれていません: libmysqlclient.18.dylib」エラーを解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート