【问题标题】:Flask: ModuleNotFoundError: No module named 'flask_sqlalchemy'烧瓶:ModuleNotFoundError:没有名为“flask_sqlalchemy”的模块
【发布时间】:2020-06-09 20:45:46
【问题描述】:

我正在按照这个受欢迎的教程https://www.youtube.com/watch?v=cYWiDiIUxQc 制作一个 Flask Web 应用程序。我在 Visual Code Studio 中执行此操作,但遇到 SQLAlchemy 错误。

 from flask_sqlalchemy import SQLAlchemy

这是我导入模块的代码。

我收到“ModuleNotFoundError: No module named 'flask_sqlalchemy'”。我已经通过在我的项目文件夹中的 CMD 中输入“pip list”来检查我是否已正确安装了flask_sqlalchemy,并且它列在已安装的软件包下。所以我很困惑为什么 VScode 找不到模块。在网上搜索后,一个潜在的问题似乎是虚拟环境,但我似乎已经为项目在本地正确安装了模块,所以我不知道问题是什么。

之后

【问题讨论】:

    标签: python flask visual-studio-code flask-sqlalchemy


    【解决方案1】:

    你必须配置 vscode 才能使用你的 virtualenv。

    点击ctrl+shift+p写“python选择解释器”,点击回车输入你的venv解释器路径

    【讨论】:

    • 我对 virtualenv 的需求有点困惑。从教程中,我看不到任何提及 virtualenv,他似乎只是在项目文件夹中本地的命令行中使用 pip。这是否在本地安装模块,如果是,为什么需要 virtualenv?另外,如何找到我的 venv 解释器路径?
    • Virtualenvs 的诞生是为了解决与同一台机器上的多个安装相关的依赖问题。例如,您可以将软件 A 与库 C v1.2.3 作为依赖安装在您的机器上。以后还需要安装依赖库 C v1.3.5 的软件 B,它引入了会破坏软件 A 的重大更改。使用 virtualenvs,您可以隔离 2 个安装环境
    • 如果你全局安装了flask_sqlachemy,你必须告诉vscode你为那个项目使用的全局解释器是什么,它可能被设置为错误的解释器版本。要获得正确的路径,您可以使用命令which python
    • 这很有帮助,谢谢。关于全局安装flask_sqlachemy,正如我所说,我安装它的方式是进入CMD,将目录更改为我正在处理的python文件所在的文件夹,然后使用'pip install flask_sqlachlemy'。这是全局安装吗?另外,我应该在哪里使用“which python”命令?
    • 如果你还没有创建和激活任何 venv,运行一个干净的 pip install 会全局安装包。您使用的是 Windows、Linux 还是 Mac? which 命令在 Linux 和 Mac 上运行,但我不知道在 Windows 上是什么等价物。在 Linux 和 Mac 上,您可以在终端的任何地方运行 which 命令,它将打印作为参数传递的可执行文件的路径。可能当您从终端运行项目时,您使用的 python 版本与 vscode 默认版本不同