You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Win10下venv激活报错 运行Flask报No module named 'flask'

Windows10 虚拟环境部署Flask报错排查方案

核心问题关联性结论

PowerShell执行策略限制导致虚拟环境无法正常激活,是运行代码时提示ModuleNotFoundError: No module named 'flask'的核心原因。
你执行pip freeze看到Flask已安装,实际查询到的是全局Python环境的依赖包,并非当前项目虚拟环境内的安装结果。VS Code中选中虚拟环境解释器后,如果终端未完成虚拟环境激活,运行代码时仍会调用全局或其他错误路径的Python解释器,自然无法匹配到对应环境的依赖。

分步解决流程

  • 修复PowerShell脚本执行策略限制
    以管理员身份启动PowerShell,执行命令:
    Set-ExecutionPolicy RemoteSigned
    
    弹出权限确认提示时输入Y回车即可。该策略仅允许运行本地自建脚本、以及受信任发布者签名的远程脚本,不会放开无限制脚本执行权限,无额外安全风险。
    策略修改完成后回到项目目录,执行虚拟环境激活命令:
    ./flask_ven/Scripts/Activate.ps1
    
    激活成功后,终端输入路径的最前方会出现(flask_ven)的环境标记,代表虚拟环境已正确加载。
  • 确认Flask安装到目标虚拟环境
    保持虚拟环境激活状态,执行pip list查看当前环境的已安装包列表,如果未找到Flask,执行pip install flask==2.1.2完成安装即可。禁止跳过虚拟环境激活步骤直接执行pip安装,否则依赖会被默认安装到全局Python环境,无法被虚拟环境内的项目识别。
  • 修正VS Code环境匹配问题
    你操作过程中出现了虚拟环境名拼写不一致的问题:创建时命名为flask_ven,报错路径中显示为flask_env,VS Code选择解释器时显示为flask_evn,需要先核对项目目录下实际的虚拟环境文件夹名称,重新通过Python: Select Interpreter选择路径完全匹配的解释器。
    选完解释器后按Ctrl+Shift+P调出命令面板,选择Terminal: Create New Terminal新建终端,新终端会自动激活选中的虚拟环境,此时再运行代码即可。

测试代码冗余修正

你编写的测试代码首行from distutils.log import debug为无效导入,Flask内置的debug参数不需要从distutils模块引入,删除该行即可避免不必要的兼容报错,修正后的可运行代码如下:

from flask import Flask

app = Flask("mpg_prediction")  ## 为应用指定名称

@app.route('/', methods=['GET'])  ## 服务连通性测试路由
def ping():
    return "Pinging Model Application!!"

if __name__ == '__main__':
    app.run(debug=True, host='0.0.0.0', port=9696)

内容的提问来源于stack exchange,提问作者carmen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 11:27:21