Erro de importação do Python - Nenhum módulo

Erro de importação do Python - Nenhum módulo

Me desculpe, isso é básico. Eu segui um tutorial bastante simples e recebo este erro ao tentar executar o flask localmente:

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'

No entanto, no mesmo ambiente, quando executei pip list, ele me diz que tenho esse módulo: 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)

Além disso, o código que tenho no meu arquivo parece correto com base no que vejo:

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

Onde posso ter errado?

Responder1

O problema parece ser que quando você executa seu script flask, o ambiente que ele usa (anaconda) não tem o flask_sqlalchemypacote instalado, o que faz com que o script falhe, mas quando você verifica se está ou não instalado, você faça isso no ambiente virtual venvonde está realmente instalado.

informação relacionada