Flask:使用重新加载器重新启动无法找到文件

时间:2016-06-30 04:09:05

标签: python flask virtualenv

我正在努力学习烧瓶。我在项目目录中创建了一个虚拟环境(venv)(C:\ users \ ian \ git \ flasktutorial)。 FLASK_APP设置为flasktutorial,FLASK_DEBUG = 1,我在目录中有一个flasktutorial.py。

当我输入“flask run”时,我得到以下内容:

* Serving Flask app "flasktutorial"
* Forcing debug mode on
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
* Restarting with windowsapi reloader
c:\users\ian\git\flasktutorial\venv\scripts\python.exe: can't open file 'C:\users\Ian\Git\flasktutorial\venv\Scripts\flask': [Errno 2] No such file or directory

检查该文件夹,它似乎确实有一个flask.exe。不确定这里发生了什么。

1 个答案:

答案 0 :(得分:2)

将flask作为模块运行,然后重新加载器将在Windows上运行:

python -m flask run

说明:

在Windows中使用flask.exe启动应用程序时,重新加载器会为新子进程构造错误的args。源代码here

它尝试以flask.exe作为脚本名称运行python解释器,但没有扩展名,这就是找不到文件错误的原因。 如果您制作了一个骗子并将Scripts / flask.exe复制到Scripts / flask,那么它将起作用。 ;)

否则,当将flask作为模块运行时,sys.argv包含重新加载器运行子进程的正确路径。