Files
managed-portal/managed/people_flow_project/docs/plans/2026-04-08-offline-wheelhouse.md
2026-04-27 10:04:36 +08:00

1.8 KiB

Offline Wheelhouse Implementation Plan

For Claude: REQUIRED SUB-SKILL: Use superpowers:executing-plans to implement this plan task-by-task.

Goal: Add a reusable offline wheelhouse for the native x86 bundle and make setup prefer local wheels.

Architecture: Keep the native bundle layout, add one build script that downloads all required wheels into wheelhouse/, and update the setup script to install from wheelhouse/ first.

Tech Stack: Python 3.12, pip download, wheelhouse, shell scripts


Task 1: Add offline dependency metadata and scripts

Files:

  • Create: /Users/zxmacmini1/Documents/人流检测/people_flow_project/requirements-native.txt
  • Create: /Users/zxmacmini1/Documents/人流检测/people_flow_project/build_wheelhouse.sh
  • Modify: /Users/zxmacmini1/Documents/人流检测/people_flow_project/setup_native_venv.sh
  • Modify: /Users/zxmacmini1/Documents/人流检测/people_flow_project/README_NATIVE.md

Step 1: Add a native requirements file

  • Pin numpy<2
  • Include app-level dependencies used by native setup

Step 2: Add a wheelhouse build script

  • Download installer tools, PyTorch CUDA wheels, TensorFlow wheels, and project wheels
  • Write everything into wheelhouse/

Step 3: Make setup prefer offline wheels

  • Use --no-index --find-links wheelhouse when local wheels are available
  • Fall back to online install otherwise

Task 2: Sync and build the wheelhouse on the target host

Files:

  • No code changes required

Step 1: Sync project changes to 192.168.5.154

  • Preserve existing weights

Step 2: Run build_wheelhouse.sh

  • Populate /home/x/people/people_flow_project/wheelhouse

Step 3: Validate setup behavior

  • Confirm setup_native_venv.sh recognizes local wheelhouse