最後活躍 5 months ago

這個 Makefile 專為使用 uv 管理的 Python 專案打造,讓你在開發時可以「一鍵搞定」各種操作,根本就是工程師福音。它簡化了虛擬環境的建立與套件安裝(init 和 install),讓你不用再記一堆指令。程式碼品質管理也變得超簡單,可以用 lint 進行靜態檢查,或用 format 自動排版,輕鬆解決排版上的「技術債」。跑測試用 test,執行主程式就敲 run。最後,還有個方便的 clean 指令,能一次移除快取檔案和虛擬環境,讓你專案「砍掉重練」時超方便,保持工作環境的整潔,完全符合台灣工程師「實用至上」的精神!

修訂 e74507cb6554c39f71b060f509c22234d87d4141

Makefile 原始檔案
1# Makefile: 適用於使用 uv 管理的 Python 專案
2
3PY := uv venv exec -- python
4PIP := uv pip
5VENV := .venv
6
7.PHONY: help init install lint format test run clean
8
9help:
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
19init:
20 @echo "🐍 建立 uv 虛擬環境..."
21 uv venv
22 @echo "✅ 虛擬環境已建立於 $(VENV)"
23
24install:
25 @echo "📦 安裝套件..."
26 $(PIP) install -r requirements.txt
27 @echo "✅ 套件安裝完成"
28
29lint:
30 @echo "🔍 程式碼檢查 (ruff)..."
31 uv venv exec -- ruff check src tests
32
33format:
34 @echo "🧼 自動格式化 (ruff)..."
35 uv venv exec -- ruff format src tests
36
37test:
38 @echo "🧪 執行測試 (pytest)..."
39 uv venv exec -- pytest
40
41run:
42 @echo "🚀 執行主程式..."
43 $(PY) src/main.py
44
45clean:
46 @echo "🧹 清理專案..."
47 rm -rf .venv __pycache__ */__pycache__ *.pyc .ruff_cache .pytest_cache .mypy_cache
48 @echo "✅ 清理完成"
49