Python 3.12下Flask/Django执行迁移脚本时模块找不到问题求助
解决Flask/Django迁移命令提示模块找不到的问题
问题现象
近期Flask和Django应用执行迁移相关命令(如python manage.py init)时,频繁报ModuleNotFoundError,但存在以下矛盾点:
- VS Code中代码可正常识别这些模块
pip show [模块名]显示模块已安装(以Flask-Script为例)- 当前使用Python 3.12,版本无异常
具体报错示例:
PS C:\Users\MAIN_new\Desktop\Flask-Blog-master> python manage.py init Traceback (most recent call last): File "C:\Users\MAIN_new\Desktop\Flask-Blog-master\manage.py", line 3, in <module> from flask_script import Manager ModuleNotFoundError: No module named 'flask_script' PS C:\Users\MAIN_new\Desktop\Flask-Blog-master> pip show flask_script Name: Flask-Script Version: 2.0.6 Summary: Scripting support for Flask Home-page: http://github.com/smurfix/flask-script Author: Dan Jacob Author-email: danjac354@gmail.com License: BSD Location: C:\Users\MAIN_new\AppData\Local\Programs\Python\Python312\Lib\site-packages Requires: Flask Required-by:
VS Code模块识别正常:
解决步骤
确认Python与pip的环境一致性
- 执行
python --version,检查终端中python命令指向的版本是否为3.12 - 执行
pip --version,查看其对应的Python路径是否为C:\Users\MAIN_new\AppData\Local\Programs\Python\Python312 - 若路径不匹配,改用
python -m pip执行安装/查询操作,确保操作对象是当前python命令对应的环境
- 执行
指定Python版本运行脚本
若系统存在多个Python版本,直接通过版本号指定运行:py -3.12 manage.py init用虚拟环境隔离项目依赖
全局环境易出现依赖冲突,建议为项目创建独立虚拟环境:- 创建虚拟环境:
python -m venv venv - 激活虚拟环境(Windows):
venv\Scripts\activate - 重新安装项目依赖:
pip install flask-script flask(按需添加其他依赖) - 激活环境后再执行迁移命令
- 创建虚拟环境:
同步VS Code解释器与终端环境
- 点击VS Code左下角的Python版本标识,选择路径为
C:\Users\MAIN_new\AppData\Local\Programs\Python\Python312的解释器 - 重启VS Code终端,确保终端使用选中的解释器后再执行命令
- 点击VS Code左下角的Python版本标识,选择路径为
内容的提问来源于stack exchange,提问作者Thats Venoe
相关产品推荐
相关产品推荐

