簡體   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