我在这里已经找到了类似的问题,但找不到具体的解决办法。我获得了激活和运行的虚拟环境,并在其中安装了烧瓶-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已经引用了该路径!
此外,如果烧瓶wtf模块是全局安装的,则脚本可以通过
sudo pip install flask-wtf然后我就可以运行脚本
python test.py一切都正常。
有人能帮忙解释一下吗?到底怎么回事,怎么解决?因为我担心,我遗漏了一些关于从virtualenv调用模块的简单要点,而且类似的情况也可能发生在任何可能安装的模块上。
发布于 2018-08-23 19:18:39
最后,我忘记了,我在~/..bash_aliases文件中为python3.6指定了别名.所以在本例中命令
which python返回到虚拟环境python的路径,但是调用
python叫做python3.6,是全球安装的.在删除~/..bash_aliases文件后,一切都正常。
发布于 2018-08-19 21:46:56
可以通过以下方法验证安装了哪些包:
pip freeze还可以通过以下方法验证pip是否在虚拟环境中运行:
pip -V最后一个命令将输出到当前虚拟环境的路径,我建议您首先验证实际使用的是虚拟环境,然后安装烧瓶-wtf,然后验证烧瓶-wtf是使用pip冻结安装的。
https://stackoverflow.com/questions/51921966
复制相似问题