1.5 KiB
1.5 KiB
Offline Wheelhouse Design
Date: 2026-04-08
Goal: Add an offline Python dependency bundle for Ubuntu 24.04 x86_64 with Python 3.12 and NVIDIA GPU support so the project can be installed on similar machines without re-downloading PyTorch, TensorFlow, and application wheels.
Scope
- Target platform: Ubuntu 24.04 x86_64
- Python version: 3.12
- GPU runtime: NVIDIA, using CUDA-enabled PyTorch wheels
- Bundle type: project code + weights +
wheelhouse/ - Setup behavior: prefer offline wheels when present, fall back to network otherwise
Approach
Add a dedicated wheelhouse build script that downloads:
pip,setuptools,wheelnumpy<2- CUDA-enabled
torchandtorchvision tensorflow[and-cuda]==2.16.1tf-keras==2.16.0- project requirements and their transitive dependencies
Store the wheels inside wheelhouse/ under the project root.
Update the native setup script so it:
- creates
.venv - upgrades installer tooling from
wheelhouse/when available - installs PyTorch and TensorFlow from local wheels when available
- installs project requirements from local wheels when available
- falls back to online indexes only if the wheelhouse is missing
Bundle Layout
weights/wheelhouse/setup_native_venv.shbuild_wheelhouse.shrun_rtsp.sh
Tradeoff
This increases the lightweight bundle size, but it removes repeat dependency downloads on future hosts. The user explicitly asked for an offline dependency pack, so this is the right tradeoff now.