Python インポート エラー - モジュールがありません

Python インポート エラー - モジュールがありません

申し訳ありませんが、これは基本的なことです。かなり簡単なチュートリアルに従いましたが、Flask をローカルで実行しようとすると、次のエラーが発生します。

Traceback (most recent call last):
  File "/Users/james/opt/anaconda3/lib/python3.8/site-packages/flask/cli.py", line 240, in locate_app
    __import__(module_name)
  File "/Users/james/Documents/GitHub/flask-app-blueprint/project/__init__.py", line 3, in <module>
    from flask_sqlalchemy import SQLAlchemy
ModuleNotFoundError: No module named 'flask_sqlalchemy'

しかし、同じ環境でpip listを実行すると、そのモジュールがあることがわかります: Flask-SQLAlchemy 2.2

(venv) (base) james flask-app-blueprint % pip3 install flask-sqlalchemy
Requirement already satisfied: flask-sqlalchemy in ./venv/lib/python3.8/site-packages (2.5.1)
Requirement already satisfied: Flask>=0.10 in ./venv/lib/python3.8/site-packages (from flask-sqlalchemy) (1.0.2)
Requirement already satisfied: SQLAlchemy>=0.8.0 in ./venv/lib/python3.8/site-packages (from flask-sqlalchemy) (1.3.3)
Requirement already satisfied: Jinja2>=2.10 in ./venv/lib/python3.8/site-packages (from Flask>=0.10->flask-sqlalchemy) (2.11.3)
Requirement already satisfied: itsdangerous>=0.24 in ./venv/lib/python3.8/site-packages (from Flask>=0.10->flask-sqlalchemy) (0.24)
Requirement already satisfied: Werkzeug>=0.14 in ./venv/lib/python3.8/site-packages (from Flask>=0.10->flask-sqlalchemy) (2.0.1)
Requirement already satisfied: click>=5.1 in ./venv/lib/python3.8/site-packages (from Flask>=0.10->flask-sqlalchemy) (7.0)
Requirement already satisfied: MarkupSafe>=0.23 in ./venv/lib/python3.8/site-packages (from Jinja2>=2.10->Flask>=0.10->flask-sqlalchemy) (2.0.1)

それに加えて、ファイル内のコードは、私が見た限りでは正しいように見えます。

# IMPORTS
from flask import Flask, render_template
from flask_sqlalchemy import SQLAlchemy

どこで間違えたのでしょうか?

答え1

問題は、Flask スクリプトを実行すると、それが使用する環境 (anaconda) にパッケージがインストールされていないためにスクリプトが失敗するが、インストールされているかどうかを確認するときは、実際にインストールされているflask_sqlalchemy仮想環境で確認するということであるようです。venv

関連情報