Flask用尽了虚拟环境

时间:2018-11-12 21:52:45

标签: python python-3.x flask virtualenv flask-restful

我在虚拟环境中工作,但是我故意删除了虚拟环境文件夹。但是我仍然可以按以下方式运行Flask Restful应用程序,同时新的空虚拟环境(站点包中没有库,但甚至应用程序也像旧的虚拟环境一样)处于活动状态。

flask run 

我认为它应该失败了,并抱怨:

  

没有名为flask的模块

,因为我删除了旧的正确的虚拟环境并安装了新的虚拟环境,然后将其激活。

这就是要点,当我尝试如下运行主脚本

python3 app.py

它按预期抱怨:

  

没有名为flask的模块

当我使用flask run运行时,它似乎没有使用虚拟环境,甚至虚拟环境也处于活动状态。因此,我无法使用其他python版本测试应用程序,也无法测试是否已在新的其他虚拟环境中安装并运行了需求。我无法理解烧瓶的这种行为,无法获得任何帮助。

谢谢。

2 个答案:

答案 0 :(得分:0)

您可能已全局安装了烧瓶。

点列表| grep烧瓶

您可以删除它:

pip卸载瓶

使用--no-site-packages选项创建virtualenv:

virtualenv-无站点软件包venv

来源venv / bin / activate

答案 1 :(得分:0)

好吧,我弄清楚那里发生了什么。

Flask在home中创建了一个名为local的目录,并移动了系统的解释程序以及我编写的flask应用程序所包含的依赖项。

然后,当它与flask run运行时,它将从那里部署应用程序。因此,这意味着我的flask应用程序未在我们猜测的虚拟环境中运行。

因此,在那种情况下,我重新创建了虚拟环境,并在安装依赖项后使用python3 app.py运行。现在看来,它使用了虚拟环境依赖项和解释器。