ModuleNotFoundError:没有名为“ flask_wtf”的模块

时间:2018-08-19 21:25:54

标签: python pip virtualenv

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

pip install flask-wtf

然后,有一个名为“ test.py”的脚本,它从flask_wtf导入导入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调用模块的一些简单要点,而且任何可能安装的模块都可能发生类似情况。

2 个答案:

答案 0 :(得分:0)

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

pip freeze

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

pip -V

最后一条命令将输出当前虚拟环境的路径,我建议您首先验证您是否正在实际使用虚拟环境,安装flask-wtf,然后验证使用以下命令安装flask-wtf点冻结。

答案 1 :(得分:0)

最后,找到原因-我忘记了,我已经在〜/ .bash_aliases文件中为python3.6指定了别名...因此在这种情况下,命令

which python

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

python

名为python3.6,已全局安装... 删除〜/ .bash_aliases文件后,一切正常。