【问题标题】:ModuleNotFoundError: No module named 'flask_wtf'ModuleNotFoundError:没有名为“flask_wtf”的模块
【发布时间】:2018-08-19 21:25:53
【问题描述】:

我已经在这里找到了类似的问题,但找不到具体的解决方案。 我有一个已激活并运行的虚拟环境,并且在其中我安装了 flask-wtf 模块,如下所示:

pip install flask-wtf

然后,有一个名为“test.py”的脚本,它包含 from flask_wtf import FlaskForm -> 当它从终端启动时为

python test.py

引发错误,因为

    from flask_wtf import FlaskForm
ModuleNotFoundError: No module named 'flask_wtf'

命令

which flask_wtf

什么都不返回。但是,我可以在 flaskEnv/lib/python3.6/site-packages 文件夹中看到 flask_wtf 文件夹(其中 flaskEnv - 是虚拟环境的目录)。

按照我在网站上找到的建议,运行脚本为

/home/kosist/Documents/Environments/flaskEnv/bin/python test.py

工作得很好 - 脚本执行没有错误。 但是——为什么会这样?我不想一直输入python的完整路径,而且,命令

which python

返回以下内容:

/home/kosist/Documents/Environments/flaskEnv/bin/python

所以调用 python 已经引用了那个路径!

此外,如果全局安装了 flask-wtf 模块,则脚本可以通过

sudo pip install flask-wtf

然后我可以运行脚本为

python test.py

一切正常。

有人可以帮忙解释一下,发生了什么,以及如何解决吗?因为我担心我错过了一些关于从 virtualenv 调用模块的简单关键点,并且任何可能安装的模块都可能发生类似的情况。

【问题讨论】:

    标签: python pip virtualenv


    【解决方案1】:

    您可以使用以下方式验证安装了哪些软件包:

    pip freeze
    

    您还可以使用以下方法验证 pip 是否在虚拟环境中运行:

    pip -V
    

    最后一个命令将输出当前虚拟环境的路径,我建议你首先验证你是否真的在使用虚拟环境,安装flask-wtf,然后验证flask-wtf是否已安装使用点冻结。

    【讨论】:

    • 非常感谢!我再次检查了它,确实,flask-wtf 安装在虚拟环境中。但是,无论如何我无法通过运行“python test.py”来执行脚本,它会抛出一个错误,即 ModuleNotFoundError: No module named 'flask_wtf'。但是 pip freeze 告诉我们,flask_wtf 已安装,并且具有当前活动的虚拟环境......请问它有什么问题?
    • 使用sudo安装时,它不依赖于激活的环境,我已经检查过了。当我激活虚拟环境并使用 sudo pip 安装软件包时,会全局安装软件包 - 因为当我停用虚拟环境并执行 pip -list 时;它显示了一个已安装的软件包......当flask-wtf安装在虚拟环境中时。使用 pip 安装,然后脚本不运行...
    • 我的错误,即使在 virtualenv How to install a package inside virtualenv? 中使用,使用 sudo 也会全局安装。查看相关问题的答案How to install a package inside virtualenv?,希望对您有所帮助
    【解决方案2】:

    终于找到了原因——我忘记了,我在 ~/.bash_aliases 文件中为 python3.6 指定了别名......所以在这种情况下是命令

    which python
    

    返回到虚拟环境python的路径,但是调用了

    python
    

    调用python3.6,全局安装... 删除 ~/.bash_aliases 文件后,一切正常。

    【讨论】:

      猜你喜欢
      • 2017-10-22
      • 2019-07-30
      • 2019-03-28
      • 2022-01-07
      • 2017-12-14
      • 2020-12-10
      • 2021-09-02
      相关资源
      最近更新 更多