运行基础Flask程序遇ModuleNotFoundError问题求助
解决Conda虚拟环境中运行Flask脚本报ModuleNotFoundError的问题
问题核心
激活Conda虚拟环境后,Python交互模式能正常import flask,但直接运行.py脚本或用conda run执行时,却提示ModuleNotFoundError: No module named 'flask',但Jupyter Notebook中运行正常。
具体解决步骤
用虚拟环境内的Python解释器直接运行脚本
激活环境后,直接调用当前环境的Python执行脚本:conda activate myflaskenv python base.py先确认当前Python路径是否属于虚拟环境:
- Linux/macOS:执行
which python,输出应为~/miniconda3/envs/myflaskenv/bin/python这类路径 - Windows:执行
where python,优先显示的应该是C:\Users\你的用户名\.conda\envs\myflaskenv\python.exe
- Linux/macOS:执行
修正
conda run的用法
你之前用conda run base.py是错误的,conda run需要明确指定执行命令(这里是python),正确写法:conda run -n myflaskenv python base.py检查终端/编辑器的环境关联
如果用IDE(比如VS Code)运行脚本,要确保编辑器选择的Python解释器是虚拟环境里的:- VS Code按
Ctrl+Shift+P(Windows)/Cmd+Shift+P(macOS),输入Python: Select Interpreter,选择myflaskenv对应的解释器 - 部分终端会缓存环境变量,激活环境后重启终端再试
- VS Code按
排查环境变量优先级
激活环境后,检查系统PATH里虚拟环境的Python路径是否排在最前面:- Linux/macOS:
echo $PATH,确认虚拟环境的bin目录在最开头 - Windows:
echo %PATH%,确认虚拟环境的Scripts路径在系统Python之前
- Linux/macOS:
额外验证步骤
可以在脚本开头加一行代码,打印当前Python解释器路径,确认是否用的虚拟环境里的:
import sys print(sys.executable) from flask import Flask
运行后如果输出的是虚拟环境的Python路径,说明环境没问题;反之就是解释器选错了。
内容的提问来源于stack exchange,提问作者transmini
相关产品推荐
相关产品推荐

