繁体   English   中英

makefile 在调试模式下启动 Flask

[英]makefile to start Flask in debug mode

我想使用单个命令在调试/开发模式下启动Flask

鉴于

一个的终端,切换到项目目录,激活虚拟环境并运行自定义Makefile

> cd project
> activate myenv

(myenv) > make

Output

在此处输入图像描述

调试模式关闭。 但是,单独运行命令将其打开(如预期的那样):

(myenv) > set FLASK_APP=app.py
(myenv) > set FLASK_ENV=development
(myenv) > flask run

Output

在此处输入图像描述

代码

我创建了以下Makefile ,但是在运行时,调试模式没有打开:

Makefile

all:
    make env && \
    make debug && \
    flask run

env:
    set FLASK_APP=app.py

debug:
    set FLASK_ENV=development

如何改进Makefile以在调试模式下运行 Flask?

注意:每个操作系统的说明略有不同 目前,我正在 Windows 命令提示符下对此进行测试。

虽然我仍然相信Makefile在其他系统上是一种更通用的方法,但我接受了 @user657267 的建议,即在 Windows 上使用批处理文件:

代码

# start_flask.bat
:: set environment varibles (app and debug mode)
set FLASK_APP=app.py
set FLASK_ENV=development
flask run
pause

演示

> start_flask.bat

输出

set FLASK_APP=app.py

set FLASK_ENV=development

flask run
 * Serving Flask app "app.py" (lazy loading)
 * Environment: development
 * Debug mode: on
 * Restarting with stat
 * Debugger is active!
 * ...
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

我愿意接受另一种解决方案。

Makefile 应该是确定性的。 拥有一个可以在两者之间切换的命令并不是最好的方法。

只需像这样创建您的 makefile:

FLASK_APP = app.py
FLASK := FLASK_APP=$(FLASK_APP) env/bin/flask

.PHONY: run
run:
    FLASK_ENV=development $(FLASK) run

.PHONY: run-production
run-production:
    FLASK_ENV=production $(FLASK) run

现在你可以做

make run

或者

make run-production

或者,在 Linux 上的 makefile 中,您可以将所有内容放在一行中,而无需export关键字。

debug:
    FLASK_APP=app.py FLASK_ENV=development flask run

根据烧瓶文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM