首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ModuleNotFoundError:没有名为“flask_wtf”的模块

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

Stack Overflow用户
提问于 2018-08-19 21:25:53
回答 2查看 6.5K关注 0票数 2

我在这里已经找到了类似的问题,但找不到具体的解决办法。我获得了激活和运行的虚拟环境,并在其中安装了烧瓶-wtf模块,如:

代码语言:javascript
复制
pip install flask-wtf

然后,有一个名为"test.py“的脚本,它从flask_wtf import FlaskForm ->获得连接,当它从终端启动时作为

代码语言:javascript
复制
python test.py

引发错误,如

代码语言:javascript
复制
    from flask_wtf import FlaskForm
ModuleNotFoundError: No module named 'flask_wtf'

命令

代码语言:javascript
复制
which flask_wtf

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

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

代码语言:javascript
复制
/home/kosist/Documents/Environments/flaskEnv/bin/python test.py

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

代码语言:javascript
复制
which python

返回以下内容:

代码语言:javascript
复制
/home/kosist/Documents/Environments/flaskEnv/bin/python

因此,调用python已经引用了该路径!

此外,如果烧瓶wtf模块是全局安装的,则脚本可以通过

代码语言:javascript
复制
sudo pip install flask-wtf

然后我就可以运行脚本

代码语言:javascript
复制
python test.py

一切都正常。

有人能帮忙解释一下吗?到底怎么回事,怎么解决?因为我担心,我遗漏了一些关于从virtualenv调用模块的简单要点,而且类似的情况也可能发生在任何可能安装的模块上。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-08-23 19:18:39

最后,我忘记了,我在~/..bash_aliases文件中为python3.6指定了别名.所以在本例中命令

代码语言:javascript
复制
which python

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

代码语言:javascript
复制
python

叫做python3.6,是全球安装的.在删除~/..bash_aliases文件后,一切都正常。

票数 1
EN

Stack Overflow用户

发布于 2018-08-19 21:46:56

可以通过以下方法验证安装了哪些包:

代码语言:javascript
复制
pip freeze

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

代码语言:javascript
复制
pip -V

最后一个命令将输出到当前虚拟环境的路径,我建议您首先验证实际使用的是虚拟环境,然后安装烧瓶-wtf,然后验证烧瓶-wtf是使用pip冻结安装的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51921966

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档