ฉันขอโทษที่เป็นพื้นฐาน ฉันได้ทำตามคำแนะนำที่ค่อนข้างง่ายและได้รับข้อผิดพลาดนี้เมื่อพยายามเรียกใช้ขวดในเครื่อง:

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 มันบอกฉันว่าฉันมีโมดูลนั้น: 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

ฉันอาจผิดพลาดตรงไหน?

answer

ปัญหาดูเหมือนว่าเมื่อคุณรันสคริปต์ขวด สภาพแวดล้อมที่ใช้ (อนาคอนดา) ไม่ได้flask_sqlalchemyติดตั้งแพ็คเกจ ซึ่งทำให้สคริปต์ล้มเหลว แต่เมื่อคุณตรวจสอบว่ามีหรือไม่ได้ติดตั้งไว้ ให้ทำในสภาพแวดล้อมเสมือนvenvที่ติดตั้งจริง