Python

【Python】mysqlclientがインストールできないエラー

今まで普通にDjangoでmysqlclientをインストールして動いていたのに、以下のようなエラーが出るようになってしまい、結構格闘したエラーだったので記録として残しておく。

django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module.
Did you install mysqlclient?

初めてmysqlclientをインストールした時の記事を参考に試してみる

初めてDjangoでMySQLに接続する時に必要だということで、同じエラーが出たのを思い出したので、以下の記事を試す。

Django: macOSでのpip install mysqlclient エラーの解決法

以前はこの記事だけで解決できました。(slackで共有してたため、残ってました。)

しかし、これを試しても以下のようなエラーが出続ける。。。。

Installing dependencies from Pipfile.lock (e4a617)… An error occurred while installing mysqlclient==1.4.5 –hash=sha256:5c008e74b1c4a42271172c35f28a698cf79a7cba5d2bc811125e963f28001c34 –hash=sha256:6ad22de8ea3aba03ce1b202ed175e0c7a8b82fcdab8f57b1649c596550ed785a –hash=sha256:e80109b0ae8d952b900b31b623181532e5e89376d707dcbeb63f99e69cefe559! Will try again. 🐍 ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 8/8 — 00:00:09 Installing initially failed dependencies… ・・・・・・・・・ pipenv.exceptions.InstallError: File install –record /private/var/folders/h8/w3l6v6px3vd5jgt_m5mslm8m0000gn/T/pip-record-7hwmllgt/install-record.txt –single-version-externally-managed –compile –install-headers /Users/yuya/projects/tutorial/djangoApp/.venv/bin/../include/site/python3.7/mysqlclient Check the logs for full command output.’] ERROR: ERROR: Package installation failed… ☤ ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 0/1 — 00:00:06

もう、いろんなこと試しました。。

・pyenvとpipenvを再インストール
・pipenvのcacheの削除
・mysql_configの修正

途中、もう諦めてDjangoの開発はDockerでやってました。。

解決

とりあえず、しばらくしてから解決出来たみたいなので、方法を残しておきます。

以下の記事がきっかけです。
https://teratail.com/questions/214631

$ brew info openssl

・・・・・・
If you need to have openssl@1.1 first in your PATH run:
echo ‘export PATH=”/usr/local/opt/openssl@1.1/bin:$PATH”‘ >> ~/.bash_profile

For compilers to find openssl@1.1 you may need to set:
export LDFLAGS=”-L/usr/local/opt/openssl@1.1/lib”
export CPPFLAGS=”-I/usr/local/opt/openssl@1.1/include”

For pkg-config to find openssl@1.1 you may need to set:
export PKG_CONFIG_PATH=”/usr/local/opt/openssl@1.1/lib/pkgconfig”
・・・・・・

上記の太文字のパスを通したら解決出来ました。

For compilers to find openssl@1.1 you may need to set:

とあるように、コンパイラが見つけきれてなかったのかなーと思ってます。

COMMENT

メールアドレスが公開されることはありません。