環境
OS: macOS Big Sur バージョン 11.2.2
Python: Python 3.8.3
brew install mysqlclient でエラー
Python 仮想環境で「brew install mysqlclient」を実行したら下記のエラーが発生しました。結論から言うと「pip install mysqlclient」の間違いだったことに後で気づきました。
が、それに気づく前に「pip install mysql」を実行して無事解決したので書いておきます。
エラーログ
==> Searching for similarly named formulae... These similarly named formulae were found: mysql-client mysql-client@5.7 To install one of them, run (for example): brew install mysql-client Error: No available formula or cask with the name "mysqlclient". ==> Searching for a previously deleted formula (in the last month)... Error: No previously deleted formula found. ==> Searching taps on GitHub... Error: No formulae found in taps.
とりあえず一番初めのエラー「Error: No available formula or cask with the name "mysqlclient".」が気になる。
調べてみると、「pip install mysql」を実行してその後に「pip install mysqlclient」を実行するという書き込みを発見。
ただ実際は「pip install mysql」だけで成功しました。
pip install mysql で成功
仮想環境内でコマンド「pip install mysql」を実行。
(venv) % pip install mysql Collecting mysql Downloading https://files.pythonhosted.org/packages/bf/5f/b574ac9f70811df0540e403309f349a8b9fa1a25d3653824c32e52cc1f28/mysql-0.0.2.tar.gz Collecting mysqlclient (from mysql) Downloading https://files.pythonhosted.org/packages/3c/df/59cd2fa5e48d0804d213bdcb1acb4d08c403b61c7ff7ed4dd4a6a2deb3f7/mysqlclient-2.0.3.tar.gz (88kB) |████████████████████████████████| 92kB 5.7MB/s Installing collected packages: mysqlclient, mysql Running setup.py install for mysqlclient ... done Running setup.py install for mysql ... done Successfully installed mysql-0.0.2 mysqlclient-2.0.3 WARNING: You are using pip version 19.2.3, however version 21.0.1 is available. You should consider upgrading via the 'pip install --upgrade pip' command. (venv) %
「pip install mysql」で mysqlclient もカバーされている?
ログをみるとちらほら「mysqlclient」について書かれているのが見えると思います。
そして「Successfully installed mysql-0.0.2 mysqlclient-2.0.3」の一文も。これってストレートに「mysql と mysqlclient が無事インストールされました。」ってことですよね?
% pip install mysqlclient
なので python を立ち上げて「import MySQLdb」を実行してみたら特にエラーも出ず。
「pip install mysqlclient」を実行しても何も変わらず
ここまで来てやっと「brew install 〜」ではなく「pip install 〜」を実行すべきだったと気づいて「pip install mysqlclient」を実行してみましたが、すでに完了しているとのことで何も変わりませんでした。
(venv) % pip install mysqlclient Requirement already satisfied: mysqlclient in /Users/ユーザー名/PythonProjects/sample_venv/lib/python3.8/site-packages (2.0.3) (venv) %