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のコードはよく使うと思うのですが、
その先が分かりませんでした。
参考になれば幸いです。