Windows下VS Code中导入db模块失败:ModuleNotFoundError问题求助
解决Flask中
from app import db引发的ModuleNotFoundError问题 问题重现
执行from app import db时触发错误:
from app import db Traceback (most recent call last): File "<stdin>", line 1, in <module> ModuleNotFoundError: No module named 'app'
对应的Flask应用代码(app.py):
from flask import Flask, render_template, url_for from flask_sqlalchemy import SQLAlchemy from datetime import datetime app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///test.db' db = SQLAlchemy(app) class Todo(db.Model): id = db.Column(db.Integer, primary_key=True) content = db.Column(db.String(200), nullable=False) date_created = db.Column(db.DateTime, default=datetime.utcnow) def __repr__(self): return '<Task %r>' % self.id @app.route('/') def index(): return render_template('index.html') if __name__ == "__main__": app.run(debug=True)
解决方案
1. 确保VSCode工作目录是项目根目录
你的项目结构应类似:
your_project/ ├── app.py └── templates/ └── index.html
- 打开VSCode时,选择
文件>打开文件夹,直接选中your_project文件夹作为工作区。 - 通过VSCode左下角状态栏确认当前工作目录,确保它指向项目根目录而非子文件夹。
2. 正确执行导入操作
- 打开VSCode终端(
Ctrl+),确认终端当前路径是项目根目录,输入python进入交互式环境后再执行from app import db。 - 或者直接运行Flask应用:
python app.py,应用启动后相关模块会自动加载。
3. 手动添加Python搜索路径(若上述方法无效)
如果Python仍找不到app模块,检查并添加项目路径到Python搜索列表:
import sys # 替换为你的项目根目录绝对路径 sys.path.append("C:/Users/YourName/your_project") from app import db
4. 排除命名冲突
- 确保项目中没有名为
app的文件夹或其他.py文件,避免和app.py模块重名。 - 确认文件名是
app.py,而非App.py(Windows文件名不区分大小写,但Python导入时可能出现匹配问题)。
内容的提问来源于stack exchange,提问作者djehuti
相关产品推荐
相关产品推荐

