MacOSX High SierraでのLibrary not loaded: libmysqlclient.18.dylibへの対処法
2018年07月06日
Mac OS S High Sieraで、pythonでMySQLのライブラリをインストールして使用していたところ、以下のエラーメッセージが出てしまい対処に困りました。
環境は、
OS:Mac OS S High Siera
MySQLバージョン:5.6
pythonバージョン:3.6.1
です。
ImportError: dlopen(/Library/WebServer/Documents/crawl/scraping/lib/python3.6/site-packages/_mysql.cpython-36m-darwin.so, 2): Library not loaded: libmysqlclient.18.dylib
原因について調べていたのですが、該当のファイルが開けないということで、該当ファイルへのシンボリックリンクを設定することで解決しました。
まず、
find / -name libmysqlclient.18.dylib
で、該当のファイルの存在している場所を調べます。
私の場合は、
/usr/local/mysql-5.6.19-osx10.7-x86_64/lib/libmysqlclient.18.dylib
にありました。
以下のコマンドでシンボリックリンクを設定しました。
sudo ln -s /usr/local/mysql-5.6.19-osx10.7-x86_64/lib/libmysqlclient.18.dylib /usr/local/lib/libmysqlclient.18.dylib
私の場合は、以上の手順で解決しました。
Linuxサーバの場合は、/usr/local/lib/ でなく、 /user/lib/ のパスらしいのですが、MacOSXの場合は、 /user/lib/ のパスがスーパーユーザでも書き込み不可になっていて、 /usr/lobal/lib/がシンボリックの設定箇所になります。