ModuleNotFoundError: No module named 'flask_wtf'
ModuleNotFoundError: No module named 'flask_wtf'
我已经在这里找到了类似的问题,但找不到具体的解决方案。
我有虚拟环境,已激活并 运行ning,在其中我安装了 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
returns 没什么。但是,我可以在 flaskEnv/lib/python3.6/site-packages 文件夹中看到 flask_wtf 文件夹(其中 flaskEnv - 是虚拟环境的目录)。
按照我在网站上找到的建议,运行ning 脚本作为
/home/kosist/Documents/Environments/flaskEnv/bin/python test.py
工作正常 - 脚本执行无误。
但是——为什么会这样?我不想一直输入 python 的完整路径,而且,命令
which python
returns 以下:
/home/kosist/Documents/Environments/flaskEnv/bin/python
所以调用 python 已经引用了那个路径!
此外,如果全局安装了 flask-wtf 模块,则脚本可以通过
sudo pip install flask-wtf
然后我可以运行脚本为
python test.py
一切正常。
有人可以帮忙解释一下,这是怎么回事,如何解决?因为恐怕我遗漏了一些关于从 virtualenv 调用模块的简单关键点,并且任何可能安装的模块都可能发生类似情况。
您可以使用以下方法验证安装了哪些包:
pip freeze
您还可以通过以下方式验证 pip 在虚拟环境中是否 运行:
pip -V
这最后一条命令会输出当前虚拟环境的路径,我建议你先验证你是否真的在使用虚拟环境,安装 flask-wtf 然后验证 flask-wtf 是使用 pip freeze 安装。
终于找到原因了——我忘记了,我在 ~/.bash_aliases 文件中指定了 python3.6 的别名...所以在这种情况下命令
which python
返回虚拟环境 python 的路径,但调用
python
称为python3.6,全局安装...
删除 ~/.bash_aliases 文件后,一切正常。
我已经在这里找到了类似的问题,但找不到具体的解决方案。 我有虚拟环境,已激活并 运行ning,在其中我安装了 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
returns 没什么。但是,我可以在 flaskEnv/lib/python3.6/site-packages 文件夹中看到 flask_wtf 文件夹(其中 flaskEnv - 是虚拟环境的目录)。
按照我在网站上找到的建议,运行ning 脚本作为
/home/kosist/Documents/Environments/flaskEnv/bin/python test.py
工作正常 - 脚本执行无误。 但是——为什么会这样?我不想一直输入 python 的完整路径,而且,命令
which python
returns 以下:
/home/kosist/Documents/Environments/flaskEnv/bin/python
所以调用 python 已经引用了那个路径!
此外,如果全局安装了 flask-wtf 模块,则脚本可以通过
sudo pip install flask-wtf
然后我可以运行脚本为
python test.py
一切正常。
有人可以帮忙解释一下,这是怎么回事,如何解决?因为恐怕我遗漏了一些关于从 virtualenv 调用模块的简单关键点,并且任何可能安装的模块都可能发生类似情况。
您可以使用以下方法验证安装了哪些包:
pip freeze
您还可以通过以下方式验证 pip 在虚拟环境中是否 运行:
pip -V
这最后一条命令会输出当前虚拟环境的路径,我建议你先验证你是否真的在使用虚拟环境,安装 flask-wtf 然后验证 flask-wtf 是使用 pip freeze 安装。
终于找到原因了——我忘记了,我在 ~/.bash_aliases 文件中指定了 python3.6 的别名...所以在这种情况下命令
which python
返回虚拟环境 python 的路径,但调用
python
称为python3.6,全局安装... 删除 ~/.bash_aliases 文件后,一切正常。