Python 烧瓶:使用重新装载器罐重新启动';找不到文件

Python 烧瓶:使用重新装载器罐重新启动';找不到文件,python,flask,virtualenv,Python,Flask,Virtualenv,我在学烧瓶。我已经在我的项目目录(C:\users\ian\git\flasktutorial)中创建了一个虚拟环境(venv)。FLASK_APP设置为flasktutorial,FLASK_DEBUG=1,目录中有一个flasktutorial.py 当我输入“烧瓶运行”时,我得到以下信息: * Serving Flask app "flasktutorial" * Forcing debug mode on * Running on http://127.0.0.1:5000/ (Pres

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

当我输入“烧瓶运行”时,我得到以下信息:

* 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。不确定这里发生了什么。

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

python -m flask run
说明:

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

它尝试以
flask.exe
作为脚本名运行python解释器,但没有扩展名,这就是文件未找到错误的原因。 如果您进行复制并将Scripts/flask.exe复制到Scripts/flask,则它将工作。;)


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

超出范围的建议:将操作系统切换到Linux。它会回报你花在它上面的时间。现在,您将要解决使用Windows作为Python开发环境的副作用。很好,非常感谢!你知道为什么会这样吗?我补充了我知道的原因。