[英]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.