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 # Wedding Phone Makefile
# Simple commands to run the wedding phone system # Simple commands to run the wedding phone system
.PHONY: start test install clean help .PHONY: start test install clean help sync
start: start:
@echo "Starting Wedding Phone System..." @echo "Starting Wedding Phone System..."
uv run python rotary_phone_web.py uv run --no-project python rotary_phone_web.py
test: test:
@echo "Running audio tests..." @echo "Running audio tests..."
uv run python test_complete.py uv run --no-project python test_complete.py
install: sync:
@echo "Installing dependencies..." @echo "Installing/syncing dependencies..."
uv pip install -e . uv pip install flask numpy pyaudio RPi.GPIO
install: sync
@echo "Dependencies installed!"
clean: clean:
@echo "Cleaning up..." @echo "Cleaning up..."
@@ -26,10 +29,11 @@ help:
@echo "" @echo ""
@echo " make start - Start the wedding phone system" @echo " make start - Start the wedding phone system"
@echo " make test - Run audio tests" @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 clean - Clean temporary files"
@echo " make help - Show this help message" @echo " make help - Show this help message"
@echo "" @echo ""
@echo "Or use UV directly:" @echo "Or use UV directly:"
@echo " uv run python rotary_phone_web.py" @echo " uv run --no-project python rotary_phone_web.py"
@echo " uv run python test_complete.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 sudo apt-get install -y python3-pyaudio portaudio19-dev
# Install Python dependencies with UV # 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 #### Option B: Using pip

View File

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

View File

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