/
pragmatic
/
documentation
Обзор
Документация
Войти
/
pragmatic
/
documentation
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
django/Makefile_for_python_app
84 строки
3 KB
codesshaman
initial commit
21 апр 2026, 17:36
21 апр 2026, 17:36
aaccdd4
Код
Авторство
О чём код?
name = Dashboard Streaming APPNAME:=$(word 2, $(MAKECMDGOALS)) DIR:= $(abspath $(dir $(abspath $(lastword $(MAKEFILE_LIST))))) VENV_DIR=.venv VENV=$(DIR)/$(VENV_DIR) VENV_BIN=$(VENV)/bin PYTHON=$(VENV_BIN)/python3 PIP=$(VENV_BIN)/pip3 NO_COLOR=\033[0m # Color Reset COLOR_OFF=\e[0m # Color Off OK_COLOR=\033[32;01m # Green Ok ERROR_COLOR=\033[31;01m # Error red WARN_COLOR=\033[33;01m # Warning yellow # DIR := $(abspath $(dir $(abspath $(lastword $(MAKEFILE_LIST))))..) # VENV = "./.venv" all: @printf "Launch configuration ${name}...\n" $(PYTHON) .venv/bin/streamlit run main.py freeze: @$(PIP) freeze help: @echo -e "$(OK_COLOR)==== All commands of ${name} configuration ====$(NO_COLOR)" @echo -e "$(WARN_COLOR)- make help : 0. Справка" @echo -e "$(WARN_COLOR)- make venv : 1. Создать виртуальное окружение" @echo -e "$(WARN_COLOR)- make req : 2. Установить зависимости" @echo -e "$(WARN_COLOR)- make : 3. Запуск приложения" @echo -e "$(WARN_COLOR) >>>Дальнейшие пункты применять опционально по необходимости<<<" @echo -e "$(WARN_COLOR)- make install : Установить библиотеку в pip" @echo -e "$(WARN_COLOR)- make freeze : Список установленных библиотек" @echo -e "$(WARN_COLOR)- make push : Залить текущие изменения в репозиторий" @echo -e "$(WARN_COLOR)- make clean : Очистить кэш приложения" @echo -e "$(WARN_COLOR)- make fclean : Удалить виртуальное окружение" install: @printf "$(OK_COLOR)==== Launch pip install ====$(NO_COLOR)\n" @printf "$(OK_COLOR)==== Downloading a new library ====$(NO_COLOR)\n" @$(eval args := $(words $(filter-out --,$(MAKECMDGOALS)))) @if [ "${args}" -eq 2 ]; then \ echo "$(OK_COLOR) Downloading the library ${APPNAME}$(NO_COLOR)\n"; \ cd apps; \ $(PIP) install ${APPNAME}; \ cd ..; \ elif [ "${args}" -gt 2 ]; then \ echo "$(ERROR_COLOR)The library name must not contain spaces!$(NO_COLOR)\n"; \ else \ echo "$(ERROR_COLOR)Enter the library name!$(NO_COLOR)\n"; \ fi venv: @printf "$(OK_COLOR)==== Launch virtual environment for ${name} ====$(NO_COLOR)\n" @if [ ! -d "${VENV}" ]; then \ echo "Creating virtual environment..."; \ python3 -m venv ${VENV}; \ fi push: @bash push.sh req: @printf "$(OK_COLOR)==== Install python requirements ====$(NO_COLOR)\n" @if [ -d "${VENV}" ]; then \ $(PIP) install -r requirements.txt; \ else \ echo "Окружение отсутствует"; \ echo "Команда для создания:"; \ echo "make venv"; \ fi clean: @printf "$(ERROR_COLOR)==== Cleaning cache ${name}... ====$(NO_COLOR)\n" @find . -name '*.pyc' -delete @find . -name '__pycache__' -type d | xargs rm -fr fclean: clean @printf "$(ERROR_COLOR)==== Cleaning configuration ${name}... ====$(NO_COLOR)\n" @rm -rf ${VENV} .PHONY : all help make migrate venv vexit clean