VS Code点击运行Flask项目提示ModuleNotFoundError,但终端执行可正常运行的问题排查求助
VS Code点击运行Flask项目提示ModuleNotFoundError,但终端执行可正常运行的问题排查求助
各位好,我遇到了一个很奇怪的问题,想请大家帮忙排查一下:
我当前的环境是 Windows 11 + VS Code + Python 3.13,刚重装过Python和VS Code。
我做了这些操作:
- 新建了一个工作区文件夹,创建并激活了虚拟环境(激活命令是
.\.venv\Scripts\activate,第一次激活的时候还特意去PowerShell里修改了用户级的ExecutionPolicy) - 在终端里执行
pip install flask安装了Flask,还顺带装了flask_scss、flask_sqlalchemy这些依赖 - 写了
app.py文件,代码如下:
from flask import Flask from flask_scss import Scss from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) @app.route("/") def index(): return "testing" if __name__ in "__main__": app.run(debug=True)
问题现象
IDE里没有任何IntelliSense报错,但点击VS Code右上角的运行箭头执行文件时,却弹出了这个错误:
[Running] python -u "c:\Users\USER1\Documents\Ranger Project\Ranger_02\app.py" File "c:\Users\USER1\Documents\Project\Project_02\app.py", line 1, in <module> from flask import Flask ModuleNotFoundError: No module named 'flask'
但奇怪的是,我在激活了虚拟环境的终端里直接输入python app.py,项目却能正常运行。
我试过的排查方法
我已经尝试了这些办法,但都没解决问题:
- 反复切换虚拟环境/全局环境,多次激活、退出venv
- 更换VS Code里的Python解释器(包括全局的3.13、3.12,还有虚拟环境里的解释器)
- 重装了Python和VS Code
- 检查
pip list时发现,不管是在venv里还是全局环境下,输出的包列表居然完全一样——这和我在公司里的情况不一样,公司里全局环境的包很少,虚拟环境是完全隔离的,可以单独装依赖
另外还有几个细节:
- 我在终端里执行
flask --version,能正常输出:Python 3.13.2 Flask 3.1.0 Werkzeug 3.1.3 - 我查过一些旧的排查帖子,其中提到过flask shell,但不确定对Windows下的VS Code是否适用
现在我最大的疑问是:明明已经选对了解释器,为什么点击VS Code的运行按钮就找不到Flask模块,但终端手动执行却没问题?到底是权限、环境变量还是安装路径出了问题?有没有办法解决这个点击运行的问题?
备注:内容来源于stack exchange,提问作者Mike Demaris
相关产品推荐
相关产品推荐

