Fix UV build issues by removing build system

**Issues Fixed:**
- Removed hatchling build-backend (not needed for scripts)
- Changed to --no-project mode (no editable install)
- UV now runs scripts directly without building

**Makefile Updated:**
- Uses 'uv run --no-project' to skip build
- Added 'make sync' to install dependencies
- Simplified dependency installation
- No more build errors

**Install Script Updated:**
- Uses 'make sync' instead of 'uv pip install -e .'
- Faster installation, no build step

**Usage:**
```bash
# Install dependencies
make sync

# Run the system (no build needed)
make start

# Everything just works!
```

**Why This Works:**
- No build system = no build errors
- Direct script execution via UV
- Dependencies installed separately
- Simpler, more reliable

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-10-24 16:59:03 +07:00
parent bdeeb879cd
commit d0bbaf6d4e
4 changed files with 17 additions and 15 deletions

View File

@@ -1,19 +1,22 @@
# Wedding Phone Makefile
# Simple commands to run the wedding phone system
.PHONY: start test install clean help
.PHONY: start test install clean help sync
start:
@echo "Starting Wedding Phone System..."
uv run python rotary_phone_web.py
uv run --no-project python rotary_phone_web.py
test:
@echo "Running audio tests..."
uv run python test_complete.py
uv run --no-project python test_complete.py
install:
@echo "Installing dependencies..."
uv pip install -e .
sync:
@echo "Installing/syncing dependencies..."
uv pip install flask numpy pyaudio RPi.GPIO
install: sync
@echo "Dependencies installed!"
clean:
@echo "Cleaning up..."
@@ -26,10 +29,11 @@ help:
@echo ""
@echo " make start - Start the wedding phone system"
@echo " make test - Run audio tests"
@echo " make install - Install dependencies"
@echo " make sync - Install/sync dependencies"
@echo " make install - Same as sync"
@echo " make clean - Clean temporary files"
@echo " make help - Show this help message"
@echo ""
@echo "Or use UV directly:"
@echo " uv run python rotary_phone_web.py"
@echo " uv run python test_complete.py"
@echo " uv run --no-project python rotary_phone_web.py"
@echo " uv run --no-project python test_complete.py"

View File

@@ -67,7 +67,9 @@ sudo apt-get update
sudo apt-get install -y python3-pyaudio portaudio19-dev
# Install Python dependencies with UV
uv pip install -e .
make sync
# Or manually:
# uv pip install flask numpy pyaudio RPi.GPIO
```
#### Option B: Using pip

View File

@@ -59,7 +59,7 @@ echo -e "${GREEN}✓ UV is installed${NC}"
echo ""
echo "Installing dependencies..."
cd "$SCRIPT_DIR"
uv pip install -e .
make sync
echo -e "${GREEN}✓ Dependencies installed${NC}"
echo ""

View File

@@ -19,7 +19,3 @@ wedding-phone-test = "test_complete:main"
dev = [
"pytest>=7.0.0",
]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"