From 41598722f15a0184033df3bcd7cb2603fb3e7fe1 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 27 Jan 2026 17:55:54 +0000 Subject: [PATCH] Disable rembg to fix build - numpy version conflict rembg>=2.0.70 has an incompatible dependency chain: - rembg requires scikit-image>=0.26.0 - scikit-image 0.26+ pulls in numpy 2.x - opencv-python-headless 4.9.0.80 was compiled for numpy 1.x - Runtime crash: "numpy.core.multiarray failed to import" Fix: Revert to known-working numpy<2 stack: - numpy<2.0.0 (explicit pin) - Pillow 10.x (compatible with numpy 1.x) - torch 2.1.2 / torchvision 0.16.2 (numpy 1.x compatible) - Remove rembg and onnxruntime Background removal endpoints will return 500 with "rembg not installed" message (code already handles this gracefully). To re-enable rembg in future: update opencv-python-headless to 4.10+ which supports numpy 2.x. https://claude.ai/code/session_01MYpjNQXD1fZE4gCweGU4QQ --- backend/Dockerfile | 5 +---- backend/requirements.txt | 22 ++++++++++++---------- 2 files changed, 13 insertions(+), 14 deletions(-) diff --git a/backend/Dockerfile b/backend/Dockerfile index 64f60ec..3bfd49c 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -2,7 +2,7 @@ FROM python:3.11-slim WORKDIR /app -# Install system dependencies for OpenCV, rembg, SAM, and image processing +# Install system dependencies for OpenCV, SAM, and image processing RUN apt-get update && apt-get install -y \ libgl1 \ libglib2.0-0 \ @@ -20,9 +20,6 @@ COPY requirements.txt . # Install Python dependencies RUN pip install --no-cache-dir -r requirements.txt -# Pre-download rembg model (u2net) to avoid first-run delay -RUN python -c "from rembg import remove; print('rembg model downloaded')" || true - # Copy application COPY . . diff --git a/backend/requirements.txt b/backend/requirements.txt index f7c393c..6209ebc 100644 --- a/backend/requirements.txt +++ b/backend/requirements.txt @@ -1,8 +1,8 @@ fastapi==0.109.0 uvicorn[standard]==0.27.0 python-multipart==0.0.6 -Pillow>=12.1.0,<13.0.0 -# numpy version will be resolved by pip based on torch/rembg requirements +Pillow>=10.0.0,<11.0.0 +numpy<2.0.0 sqlalchemy==2.0.25 python-jose[cryptography]==3.3.0 passlib[bcrypt]==1.7.4 @@ -13,13 +13,15 @@ pydantic==2.5.3 pydantic-settings==2.1.0 email-validator==2.1.0 opencv-python-headless==4.9.0.80 -# scikit-image removed - let pip resolve it automatically via rembg dependency -# rembg for background removal with BiRefNet models (state-of-the-art) -# Using latest onnxruntime (1.17+ fixed executable stack issues) -onnxruntime>=1.17.0 -rembg>=2.0.70 # SAM (Segment Anything) for smart object selection - runs locally, no API needed -# Using torch 2.4+ for numpy 2.x compatibility (required by scikit-image 0.26+) -torch>=2.4.0 -torchvision>=0.19.0 +torch==2.1.2 +torchvision==0.16.2 segment-anything @ git+https://github.com/facebookresearch/segment-anything.git + +# NOTE: rembg (background removal) disabled due to dependency conflicts +# rembg>=2.0.70 requires: +# - scikit-image>=0.26.0 which requires numpy>=2.0 +# - Pillow>=12.1.0 +# But opencv-python-headless 4.9.0.80 requires numpy<2.0 +# To enable rembg, need to update opencv-python-headless to 4.10+ (numpy 2.x compatible) +# and update all dependent packages accordingly