久しぶりにLINEbotを作成する段階でHerokuと連結したら以下のエラーを吐きました。
ModuleNotFoundError: No module named 'flask'
この手No module named 'XXX'のエラーが多く、毎回調べて解決していたのですが面倒臭がりな僕の解決策として
###一度消して入れ直してみる
これが結局簡単なことがわかりました(根本的解決ではなさそう)
よってターミナル上で以下の操作を行います。(例としてflaskでやってます)
まずはモジュールがインストールされているかどうかを確認します。
ターミナル上
(base) MacBook-puro:*********$ pip show flask
Name: Flask
Version: 1.1.1
Summary: A simple framework for building complex web applications.
Home-page: https://palletsprojects.com/p/flask/
Author: Armin Ronacher
Author-email: armin.ronacher@active-4.com
License: BSD-3-Clause
Location: /Users/***(ユーザー名)/opt/anaconda3/lib/python3.7/site-packages
Requires: itsdangerous, Jinja2, click, Werkzeug
Required-by: flask-ngrok, Flask-Compress, dash
このように表示されたら一応モジュール自体は入っていることがわかります。
正式にはLocationからの設定が正しいのですがここでは一旦モジュールを削除して入れ直してみます。
#消して入れなおす
pip uninstall flask && python -m pip install flask
これで戻る場合が多いです。理由としてはpathの位置、またバージョンの変更によるものだと思います。
根本的な解決については他の方の記事をみていただけたらいいかと思います。