Flask+Poetryを使っているのですが、
ローカルサーバーでFlaskを立ち上げようとしたところ、
ModuleNotFoundError: No module named 'flask'
上記のエラーの解決方法一向に分からず、永遠悩んだので、
対処法を書いておきます。
ModuleNotFoundError: No module named ‘flask’のエラー
結論から言うと、めちゃくちゃ初歩的なミスでした。
こんなことに数日間費やしたと思うと、
とてもアホらしいです。
ただ、僕みたいな初心者の方がぶち当たるかもしれませんので、
備忘録的に書いておきます。
まずエラーメッセージはこんな感じ。
poetry run python __init__.py
Traceback (most recent call last):
File "__init__.py", line 1, in <module>
from flask import Flask, request, url_for, render_template
ModuleNotFoundError: No module named 'flask'
では、さっそく解決していきましょう。
まずはこちらが、僕の使っているフォルダです。

Herokuでデプロイしたときのファイルも含まれています。
.venvの削除。
このフォルダの.venvを削除します。

赤丸のフォルダを削除しましょう。
MEMO
通常の表示だと見えないので、Macをお使いの場合は、command + shift + 「.」を押すと、表示されるようになります。(消したいときは、また同じコマンドを押してください)poetryのインストール。
続いて、poetryをインストールしなおします。
poetry install
すると以下のようなメッセージがでてきました。
The currently activated Python version 2.7.16 is not supported by the project (^3.7).
Trying to find and use a compatible version.
Using python3 (3.8.0)
Creating virtualenv heroku in /Users/shoichisaitou/Desktop/heroku2/.venv
Installing dependencies from lock file
Package operations: 16 installs, 0 updates, 0 removals
- Installing markupsafe (1.1.1)
- Installing pyparsing (2.4.7)
- Installing six (1.14.0)
- Installing attrs (19.3.0)
- Installing click (7.1.2)
- Installing itsdangerous (1.1.0)
- Installing jinja2 (2.11.2)
- Installing more-itertools (8.2.0)
- Installing packaging (20.3)
- Installing pluggy (0.13.1)
- Installing py (1.8.1)
- Installing wcwidth (0.1.9)
- Installing werkzeug (1.0.1)
- Installing flask (1.1.2)
- Installing gunicorn (20.0.4)
- Installing pytest (5.4.2)
これで再インストール完了。
念のため、Flaskを確認したい場合は、こちら。
ls -la .venv/bin/flask
コマンドを打つと最後に日付と、Flaskが入ってることが確認できました。
5 28 21:14 .venv/bin/flask
再トライ。
僕の場合は、ファイル名が__init__.pyです。
poetry runをします。
poetry run python __init__.py
結果や如何に・・・
* Serving Flask app "__init__" (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
はい、無事に起動ができました!(パチパチ、パチパチ)
まとめ。
とにかく、.venvを一度潰してやり直しましょう!
さすれば、道は開ける!(場合もあります!)