Flask 耗尽虚拟环境

Flask runs out of virtual environment

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

flask run 

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

no module named flask

,因为我删除了旧的适当的虚拟环境并安装了新的然后激活它。

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

python3 app.py

它按预期抱怨:

no module named flask

似乎当我 运行 和 flask run 它没有使用虚拟环境,即使虚拟环境是活动的。由于这个原因,我无法使用其他 python 版本测试我的应用程序,也无法测试是否安装了要求和 运行 在新的其他虚拟环境中。我无法理解烧瓶的这种行为,感谢任何帮助。

提前致谢。

您可能 Flask 已全局安装。

pip list | grep flask

您可以删除:

pip uninstall flask

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

virtualenv --no-site-packages venv
source venv/bin/activate

好吧,我知道那里发生了什么。

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

然后它会在 运行 和 flask run 时从那里部署应用程序。所以这意味着我的烧瓶应用程序不是我们猜测的 运行 虚拟环境。

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