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

Windows运行Flask报No module named 'flask'错误如何解决

Windows环境Anaconda下Flask项目报ModuleNotFoundError: No module named 'flask'解决方法

问题背景

  • 已完成线性回归房价预测模型训练,通过pickle序列化保存模型,训练代码如下:
import pandas as pd
df = pd.read_csv('C:\\Users\\ryans\\Desktop\\prices.csv')
df.head()

y = df['Value'] 
X = df[['Rooms', 'Distance']]


from sklearn import linear_model
lm = linear_model.LinearRegression()
lm.fit(X, y)


lm.predict([[8.2,9]])


import pickle
pickle.dump(lm, open('C:\\Users\\ryans\\Desktop\\model.pkl','wb'))
  • 已编写Flask Web应用代码,存放在C:\Users\ryans\Desktop\app.py,实现前端传参调用模型返回预测结果的功能,代码如下:
from flask import Flask, request, render_template
import pickle

app = Flask(__name__)
model = pickle.load(open('C:\\Users\\ryans\\Desktop\\model.pkl', 'rb'))

@app.route('/')
def home():
    return render_template('index.html')


@app.route('/predict',methods=['POST'])
def predict():
    """Grabs the input values and uses them to make prediction"""
    rooms = int(request.form["rooms"])
    distance = int(request.form["distance"])
    prediction = model.predict([[rooms, distance]])  # this returns a list e.g. [127.20488798], so pick first element [0]
    output = round(prediction[0], 2) 

    return render_template('index.html', prediction_text=f'A house with {rooms} rooms and located {distance} meters from the city center has a value of ${output}')

if __name__ == "__main__":
    app.run()
  • 运行时抛出如下错误:
Traceback (most recent call last):
  File "C:\Users\ryans\Desktop\app.py", line 2, in <module>
    from flask import Flask, request, render_template
ModuleNotFoundError: No module named 'flask'

已确认Flask完成安装,判断为Anaconda虚拟环境配置问题,以下是可直接落地的Windows端运行步骤。

解决步骤

1. 对齐运行环境与依赖安装环境

这个报错核心原因是运行app.py调用的Python解释器,和之前安装Flask的解释器不是同一个,按以下操作排查:

  • 打开Anaconda Prompt,先执行命令查看当前默认激活环境下是否存在Flask:
    conda list flask
  • 如果返回的列表里没有flask相关条目,直接在当前窗口执行安装命令:
    conda install flask
    也可以用pip安装:pip install flask,同时记得确认当前环境已经安装了pandas、scikit-learn,避免后续加载模型时报错。
  • 如果执行conda list flask能看到Flask的安装记录,说明之前把Flask装到了其他虚拟环境里,先激活安装了Flask、sklearn、pandas的对应环境,比如你的环境叫house_predict,就执行:
    conda activate house_predict
    激活后命令行最前面的括号里会显示当前环境名,再执行一次conda list flask确认依赖存在即可。

2. 正确启动项目

  • 环境激活后,先切换到app.py所在的桌面目录:
    cd C:\Users\ryans\Desktop
  • 执行启动命令:
    python app.py
  • 当命令行输出* Running on http://127.0.0.1:5000时,说明服务启动成功,打开浏览器访问这个地址就能正常使用预测功能。

避坑提示

  • 不要直接双击app.py文件运行,双击默认调用Windows全局Python解释器,不会走Anaconda的虚拟环境,必然出现模块缺失问题。
  • 后续安装任何项目依赖,都要先确认当前命令行已经激活了跑项目的虚拟环境,否则依赖会装到别的环境里,运行时还是会报找不到模块。
  • 你当前代码里写的都是Windows绝对路径,如果后续移动项目文件位置,记得同步修改模型文件、数据集文件的读取路径,避免出现文件找不到报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 16:54:36