なつねこメモ

主にプログラミング関連のメモ帳 ♪(✿╹ヮ╹)ノ 書いてあるコードは自己責任でご自由にどうぞ。記事本文の無断転載は禁止です。

pipenv install mysqlclient が失敗する

タイトル通り、以下の環境で pipenv install のうち、 mysqlclient が失敗してつらい。
なんか Ruby の mysql2 でもつらかった記憶があるので、 MySQL 周りはつらいのだろう。

環境はこんな感じ

  • macOS Mojave 10.14.6
  • MySQL 5.6 (たぶん)
  • Python 3.7.4
  • pipenv 2018.11.26

あと、シェルは Fish Shell を使っているけど、そこはあまり関係ない。

で、インストールが通るようにするには、したの作業を行えば良い。

> brew install mysql-connector-c
> sudo vim /usr/local/bin/mysql_config

したのようになっている部分を置き換える (不具合では...?)

  # Create options
  libs="-L$pkglibdir"
- libs="$libs -l "
+ libs="$libs -lmysqlclient -lssl -lcrypto"

あとはビルド用の設定を環境変数に投げてあげる

> set -x PATH /usr/local/opt/mysql/bin $PATH
# LDFLAGS のこれ履歴にあったって事は多分 mysql2 でもやったんだろう
> set -x LDFLAGS -L(brew --prefix openssl)/lib
> set -x CPPFLAGS -I(brew --prefix openssl)/include

この状態で pipenv install してあげれば良い。

オシマイ。