簡體   English   中英

python Flask應用程序的Makefile

[英]Makefile for python flask application

我想為我的 python Flask 應用程序創建一個Makefile以使其更易於使用。

所以我有這個名為myproject目錄,其中包含:

> 07/28/2021  02:30 PM    <DIR>          . 
> 07/28/2021  02:30 PM    <DIR>          .. 
> 07/27/2021  01:30 PM             3,275 hello.py 
> 07/28/2021  02:37 PM               311 Makefile 
> 07/27/2021  11:13 AM    <DIR>         static 
> 07/22/2021  04:24 PM    <DIR>          Templates 
> 07/22/2021  02:23 PM    <DIR>          venv 
> 07/27/2021  01:31 PM    <DIR>         __pycache__

我想使用 Makefile 輕松執行我的 python Flask 項目。

當我想開始我的項目時,我必須在文件夾myproject設置這些命令行:

用於window

venv\Scripts\activate
set FLASK_APP=hello
flask run

用於linux/mac OS

. venv/bin/activate
export FLASK_APP=hello
flask run 

我想將它們放在 Makefile 中,並在運行make時提供使其適用於 windows 和 linus/mac os 的可能性。

這是我擁有的 Makefile:

PY = python3
VENV = venv
BIN=$(VENV)/bin/activate

#make it work on windows too
ifeq ($(OS), Windows_NT)
    BIN=$(VENV)/Scripts/activate
    PY=python
endif

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

env: 
    set FLASK_APP=hello.py

debug:
    set FLASK_ENV=development

(我的 python 文件名為hello.py

但是當我在文件夾myproject運行make時,出現以下錯誤:

'make' is not recognized as an internal or external command, operable program or batch file.

我不是 100% 清楚你想要什么。 此外,您還沒有指定您在 Windows 上運行的 make 版本是構建為使用 POSIX shell,還是構建為使用 Windows 命令作為其 shell。

但這似乎更接近:

export FLASK_APP = hello
export FLASK_ENV = development

VENV = venv

ACTIVATE = . $(VENV)/bin/activate

# make it work on windows too
ifeq ($(OS),Windows_NT)
    ACTIVATE = $(VENV)/Scripts/activate
endif

all: 
        $(ACTIVATE) && flask run

我不知道為什么你在$(PY)從未使用$(PY)設置了它,所以我刪除了它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM