Python日記

【MySQL】No module named 'mysql'の対処法。Poetryを使って、MySQLを連携させる方法

2020年7月28日

MySQL No module named 'mysql'を解決の巻
ModuleNotFoundError: No module named 'mysql'
お悩みさん

PoetryでMySQLに接続をしようとしたら、こんなエラーがでてきた!

僕はPythonの仮想環境でPoetryを使っているのですが、

MySQLのインストールの仕方が全然分からず、時間がかかってしまいました。

今回は、Poetry環境でMySQLを使う方法です。

この記事で学べること

  1. No module named 'mysql'の対処法
  2. PoetryでMySQLをインストールする方法

環境

OSMac 10.15.4
Pythonpython 3.9
仮想環境Poetry
Homebrew8.0.19 Homebrew

エラーの内容:No module named 'mysql'

エラー内容は先の通りです。

Poetryを実行した際に以下のエラーが発生しました。

ModuleNotFoundError: No module named 'mysql'

解決方法:MySQLのインストール

MySQLがないので、以下でMySQLをインストールすれば完了です。

poetry run python -m pip install mysql-connector-python
Collecting mysql-connector-python
  Using cached https://files.pythonhosted.org/packages/3f/72/abf04bb96a3feaf79587daf158ad7ee1f88f202ff4e90b5e8c7f67f74556/mysql_connector_python-8.0.20-cp37-cp37m-macosx_10_14_x86_64.whl
Collecting protobuf>=3.0.0 (from mysql-connector-python)
  Using cached https://files.pythonhosted.org/packages/12/b5/9347e30e11c040f5ca24f079d6f06485280c49b2a9f894b5400e27d4d6d1/protobuf-3.12.2-cp37-cp37m-macosx_10_9_x86_64.whl
Requirement already satisfied: six>=1.9 in ./.venv/lib/python3.7/site-packages (from protobuf>=3.0.0->mysql-connector-python) (1.14.0)
Requirement already satisfied: setuptools in ./.venv/lib/python3.7/site-packages (from protobuf>=3.0.0->mysql-connector-python) (40.8.0)
Installing collected packages: protobuf, mysql-connector-python
Successfully installed mysql-connector-python-8.0.20 protobuf-3.12.2
You are using pip version 19.0.3, however version 20.2b1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

はい!成功したようです!これで完了!

苦戦した理由

こんな簡単なことになぜ時間がかかってしまったかというと、

poetry add や、 poetry run pip install のコマンドが使えなかったからです。

日常使っているモジュールのインストールの方法と違うので注意が必要ですね!

まとめ

この記事で学んだこと

  1. No module named 'mysql'の対処法
  2. PoetryでMySQLをインストールする方法

poetryで、MySQLのモジュールを追加したいとき以下のコマンドです。

poetry run python -m pip install mysql-connector-python

分かってしまえばなんてことはないのですが、

Poetry環境での記事がなかったので、かなり時間がかかってしまいました。

この記事が参考になれば幸いです。

-Python日記
-,