🦁

Python で libmysqlclient.XX.dylib が見つからない on macOS

2024/05/01に公開

Python から MySQL 互換のデータベースへ接続するときに mysqlclient を使っていたのだが次のエラーが出る。

Reason: tried: '/usr/local/opt/mysql/lib/libmysqlclient.23.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/opt/mysql/lib/libmysqlclient.23.dylib' (no such file), '/usr/local/opt/mysql/lib/libmysqlclient.23.dylib' (no such file)

この場合、チェックすべき点は 2 つ。

libmysqlclient.XX.dylib ある ?

まず、そもそも該当の dynamic link library が実行環境に存在するかどあうか ? /usr/local/opt/ 直下に mysql ではじまるものがあればその中身を見てみる。このへん。

ls /usr/local/opt/mysql/lib
ls /usr/local/opt/mysql-client/lib

存在しない場合は mysql-client をインストール。

brew install mysql-client

mysql でもいい可能性があるが、こちらに含まれているかは未確認。

シンボリックリンク張る

何度か mysqlclient を削除したりインストールしたりしてみたが、 /usr/local/opt/mysql を固定で見ているらしく、対応がめんどくさくなったので力技で解決。

ln -s /usr/local/opt/mysql-client /usr/local/opt/mysql

最近は mysql をインストールせずにコンテナーで MySQL サーバーを立てるのが楽なのでこれで良いはず。

GitHubで編集を提案

Discussion