Makefile
· 1.2 KiB · Makefile
Исходник
# Makefile: 適用於使用 uv 管理的 Python 專案
PY := uv venv exec -- python
PIP := uv pip
VENV := .venv
.PHONY: help init install lint format test run clean
help:
@echo "📘 可用指令:"
@echo " make init - 建立虛擬環境 (.venv)"
@echo " make install - 安裝 requirements.txt 中的套件"
@echo " make lint - 使用 ruff 進行靜態檢查"
@echo " make format - 使用 ruff 自動格式化程式碼"
@echo " make test - 使用 pytest 執行測試"
@echo " make run - 執行主程式 src/main.py"
@echo " make clean - 移除快取與虛擬環境"
init:
@echo "🐍 建立 uv 虛擬環境..."
uv venv
@echo "✅ 虛擬環境已建立於 $(VENV)"
install:
@echo "📦 安裝套件..."
$(PIP) install -r requirements.txt
@echo "✅ 套件安裝完成"
lint:
@echo "🔍 程式碼檢查 (ruff)..."
uv venv exec -- ruff check src tests
format:
@echo "🧼 自動格式化 (ruff)..."
uv venv exec -- ruff format src tests
test:
@echo "🧪 執行測試 (pytest)..."
uv venv exec -- pytest
run:
@echo "🚀 執行主程式..."
$(PY) src/main.py
clean:
@echo "🧹 清理專案..."
rm -rf .venv __pycache__ */__pycache__ *.pyc .ruff_cache .pytest_cache .mypy_cache
@echo "✅ 清理完成"
| 1 | # Makefile: 適用於使用 uv 管理的 Python 專案 |
| 2 | |
| 3 | PY := uv venv exec -- python |
| 4 | PIP := uv pip |
| 5 | VENV := .venv |
| 6 | |
| 7 | .PHONY: help init install lint format test run clean |
| 8 | |
| 9 | help: |
| 10 | @echo "📘 可用指令:" |
| 11 | @echo " make init - 建立虛擬環境 (.venv)" |
| 12 | @echo " make install - 安裝 requirements.txt 中的套件" |
| 13 | @echo " make lint - 使用 ruff 進行靜態檢查" |
| 14 | @echo " make format - 使用 ruff 自動格式化程式碼" |
| 15 | @echo " make test - 使用 pytest 執行測試" |
| 16 | @echo " make run - 執行主程式 src/main.py" |
| 17 | @echo " make clean - 移除快取與虛擬環境" |
| 18 | |
| 19 | init: |
| 20 | @echo "🐍 建立 uv 虛擬環境..." |
| 21 | uv venv |
| 22 | @echo "✅ 虛擬環境已建立於 $(VENV)" |
| 23 | |
| 24 | install: |
| 25 | @echo "📦 安裝套件..." |
| 26 | $(PIP) install -r requirements.txt |
| 27 | @echo "✅ 套件安裝完成" |
| 28 | |
| 29 | lint: |
| 30 | @echo "🔍 程式碼檢查 (ruff)..." |
| 31 | uv venv exec -- ruff check src tests |
| 32 | |
| 33 | format: |
| 34 | @echo "🧼 自動格式化 (ruff)..." |
| 35 | uv venv exec -- ruff format src tests |
| 36 | |
| 37 | test: |
| 38 | @echo "🧪 執行測試 (pytest)..." |
| 39 | uv venv exec -- pytest |
| 40 | |
| 41 | run: |
| 42 | @echo "🚀 執行主程式..." |
| 43 | $(PY) src/main.py |
| 44 | |
| 45 | clean: |
| 46 | @echo "🧹 清理專案..." |
| 47 | rm -rf .venv __pycache__ */__pycache__ *.pyc .ruff_cache .pytest_cache .mypy_cache |
| 48 | @echo "✅ 清理完成" |
| 49 |