【mysql-connector-python】flask+poetryでmysqlを追加する方法

flaskのweb開発をPoetryを使って行っていました。

しかし、mysqlの追加のやり方が全然分からずに苦労したので、

記載しておきます。

失敗した方法(飛ばしても問題ありません)

エラーはこんな感じで表示されます。

MySQLがないよ、という表示。

ModuleNotFoundError: No module named 'mysql'

poetry addしてみます。

poetry add mysql

こちらは残念ながら、失敗でした。

[EnvCommandError]

 こちらも失敗した方法。

poetry install --extras "mysql pgsql"

もはや、なぜこんなことを試したのか…。

[ValueError]
Extra [mysql] is not specified.

こちらも失敗。

poetry install -E mysql -E pgsql
[ValueError]
Extra [mysql] is not specified.

こちらも失敗。

poetry run pip install --upgrade pip
poetry run -m pip install mysql-connector-python
[OSError]
[Errno 2] No such file or directory

ようやく成功!

こちらが正解でした。

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で、MySQLを追加したいときはこちらが正解。

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

マジで苦戦しました。

poetry run pythonのコードはよく使うと思うのですが、

その先が分かりませんでした。

参考になれば幸いです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA