python - ModuleNotFoundError:没有名为“flask_wtf”的模块
问题描述
我已经在这里找到了类似的问题,但找不到具体的解决方案。我有一个已激活并正在运行的虚拟环境,并且在其中我安装了 flask-wtf 模块,如下所示:
pip install flask-wtf
然后,有一个名为“test.py”的脚本,它包含从 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 调用模块的简单关键点,并且任何可能安装的模块都可能发生类似的情况。
解决方案
最后,找到了原因 - 我忘记了,我在 ~/.bash_aliases 文件中指定了 python3.6 的别名......所以在这种情况下是命令
which python
返回虚拟环境python的路径,但调用
python
称为python3.6,全局安装...删除〜/ .bash_aliases文件后,一切正常。
推荐阅读
- soundcloud - SoundCloud API“可下载”搜索过滤器
- sql - 相关子查询中的内部查询别名
- android-studio - 如何在 Android Studio Artic Fox 中添加 GitHub 帐户
- github - 如何将 PR 信息插入到当前 repo 中的文件 CHANGELOG.md 中,将 PR 合并到 master?
- javascript - 尝试将文档加载后创建的元素移动到另一个元素中
- python - 为什么我不能在 vsc 中使用 jupiter 的笔记本在 python 中运行我的动画?
- python - 如何使用 .query() 将数据集过滤到一定数量的行
- android - Gradle 导致矢量构建在 Android 中失败
- git - 恢复 git reset --hard 上的所有更改?
- javascript - 如何在 JavaScript 中创建构造函数(module.exports)