首次搭建后端网站,Shell启动数据库提示no module named flask错误
报错核心原因
no module named flask报错的本质是当前运行项目代码的Python解释器环境中,没有安装Flask及配套依赖Flask-SQLAlchemy,和你现有的初始化代码、项目文件存放逻辑没有直接关系。
分步解决操作
- 先确认当前shell调用的Python解释器路径,避免出现「把包装到A环境,跑代码用B环境」的典型新手踩坑问题:
- Linux/macOS终端执行:
which python - Windows终端执行:
where python
记下输出的解释器路径,后续安装包要匹配这个路径对应的pip源。
- Linux/macOS终端执行:
- 安装对应依赖:
- 如果你没有搭建项目专属虚拟环境(首次搭后端项目绝大多数属于这种情况):
若查到的解释器为python3,执行pip3 install flask flask-sqlalchemy
若查到的解释器为默认python(已对应python3版本),执行pip install flask flask-sqlalchemy - 如果你提前搭建了项目虚拟环境:先激活虚拟环境,再在激活后的终端中执行上述安装命令,不要直接向全局Python环境装包。
- 如果你没有搭建项目专属虚拟环境(首次搭后端项目绝大多数属于这种情况):
- 验证安装是否生效:
依赖安装完成后,在当前终端执行python -c "import flask; print(flask.__version__)",如果能正常打印出版本号,说明已经将包装入当前运行代码的环境,再启动项目就不会出现模块缺失的报错。
注意事项
你贴出的目录结构存在异常:同一个一级项目目录下无法存放两个同名的backend.py文件,大概率是列目录时把不同层级的文件混在一起展示了,建议核对实际文件路径,避免后续出现Python导入路径混乱、重复定义的问题。
补充:依赖安装完成后,你可以在项目目录的shell交互环境中,导入项目实例的db对象后执行
db.create_all(),即可基于你写的SQLite配置生成对应的posts.db数据库文件。
内容的提问来源于stack exchange,提问作者adham
相关产品推荐
相关产品推荐

