我无法从 flask_sqlalchemy 和 flask_wtf.csrf 导入,即使我为两者都安装了 pip install。在我得到一台新电脑之前它一直在工作

I can't import from flask_sqlalchemy and from flask_wtf.csrf even though I did pip install for both. It was working before I got a new pc

我运行run.py时的错误是from flask_sqlalchemy import SQLAlchemy ModuleNotFoundError:没有名为 'flask_sqlalchemy'

的模块

我正在使用 windows 11 和 visual studio 代码。所有其他进口都在工作。

当我输入 pip freeze --local 我得到

bcrypt==3.2.0
cffi==1.15.0
click==8.0.3
colorama==0.4.4
csrf==0.1b1
Flask==2.0.2
Flask-Login==0.5.0
Flask-SQLAlchemy==2.5.1
Flask-WTF==0.15.1
greenlet==1.1.2
itsdangerous==2.0.1
Jinja2==3.0.2
MarkupSafe==2.0.1
pycparser==2.20
six==1.16.0
SQLAlchemy==1.4.26
Werkzeug==2.0.2
WTForms==2.3.3

我已经为 flask_sqlalchemy 和 flask_wtf.csrf 尝试了 pip uninstall 和 pip install。

如果你愿意,我可以将整个代码上传到 github。

为了设置虚拟环境,我按照 link 中的步骤操作。 https://code.visualstudio.com/docs/python/tutorial-flask 安装虚拟环境

我什至检查了环境变量 这是路径 C:\Users\nmyle\AppData\Local\Programs\Python\Python310

这是环境变量。 C:\Users\nmyle\AppData\Local\Programs\Python\Python310\脚本
C:\Users\nmyle\AppData\Local\Programs\Python\Python310\

奇怪的是,当我点击不推荐的虚拟环境时 一切正常,但烧瓶登录。 list of virtual environments

在运行 pip

之前,您需要在您的控制台激活虚拟环境
source ./venv/Scripts/activate

您需要通过pip --version命令检查您使用的是哪个pip。

看来,你选择了虚拟环境,但是你没有在上面安装pip模块,所以会使用全局pip。然后模块将安装在全局的,但是 python 解释器是虚拟环境,所以它会输出 ModuleNotFoundError.