Spaces:
Running
on
Zero
Running
on
Zero
File size: 2,584 Bytes
5708ff2 589f3a0 5708ff2 5c9a178 5708ff2 589f3a0 5708ff2 589f3a0 5c9a178 a1ddb51 5c9a178 33e5da6 589f3a0 5c9a178 589f3a0 5c9a178 589f3a0 5c9a178 589f3a0 5c9a178 589f3a0 5c9a178 589f3a0 5c9a178 589f3a0 5708ff2 5c9a178 a1ddb51 5c9a178 a1ddb51 5c9a178 5708ff2 589f3a0 5708ff2 5c9a178 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
#!/bin/bash
# Exit immediately if a command exits with a non-zero status.
set -e
# --- Configuration ---
BLENDER_VERSION="4.2.0"
BLENDER_MAJOR_MINOR="4.2"
BLENDER_PYTHON_VERSION="python3.11"
BLENDER_TARBALL="blender-${BLENDER_VERSION}-linux-x64.tar.xz"
BLENDER_URL="https://download.blender.org/release/Blender${BLENDER_MAJOR_MINOR}/blender-${BLENDER_VERSION}-linux-x64.tar.xz"
INSTALL_DIR="/opt/blender-${BLENDER_VERSION}-linux-x64"
BLENDER_PY_EXEC="${INSTALL_DIR}/${BLENDER_MAJOR_MINOR}/python/bin/${BLENDER_PYTHON_VERSION}"
UNIRIG_REQS_FILE="/home/user/app/unirig_requirements.txt" # Adjust path if different
TORCH_VERSION="2.3.1"
TORCHVISION_VERSION="0.18.1"
TORCH_CUDA_SUFFIX="cu121"
TORCH_INDEX_URL="https://download.pytorch.org/whl/${TORCH_CUDA_SUFFIX}"
PYG_WHEEL_INDEX="https://data.pyg.org/whl/torch-2.3.0+cu121.html" # Compatible with 2.3.1
# --- Download and Extract Blender ---
echo "Downloading Blender ${BLENDER_VERSION}..."
wget -nv -O /tmp/${BLENDER_TARBALL} ${BLENDER_URL}
echo "Download complete."
echo "Extracting Blender to ${INSTALL_DIR}..."
mkdir -p /opt
tar -xJf /tmp/${BLENDER_TARBALL} -C /opt
echo "Extraction complete."
# --- Create Blender Symlink ---
echo "Creating symlink for Blender executable..."
ln -sf ${INSTALL_DIR}/blender /usr/local/bin/blender
echo "Symlink created."
# --- Install Dependencies into Blender's Python ---
echo "Installing dependencies into Blender's Python (${BLENDER_PYTHON_VERSION})..."
if [ ! -f "${BLENDER_PY_EXEC}" ]; then
echo "ERROR: Blender Python executable not found at ${BLENDER_PY_EXEC}!"
exit 1
fi
if [ ! -f "${UNIRIG_REQS_FILE}" ]; then
echo "ERROR: Requirements file not found at ${UNIRIG_REQS_FILE}!"
exit 1
fi
# Upgrade pip
echo "Upgrading pip for Blender Python..."
"${BLENDER_PY_EXEC}" -m pip install --upgrade pip setuptools wheel
# Install PyTorch and Torchvision first
echo "Installing PyTorch ${TORCH_VERSION} and Torchvision ${TORCHVISION_VERSION} (CUDA: ${TORCH_CUDA_SUFFIX})..."
"${BLENDER_PY_EXEC}" -m pip install --no-cache-dir \
torch==${TORCH_VERSION} \
torchvision==${TORCHVISION_VERSION} \
--index-url ${TORCH_INDEX_URL}
# Install remaining dependencies with PyG wheel index
echo "Installing remaining packages from ${UNIRIG_REQS_FILE} with PyG wheel index..."
"${BLENDER_PY_EXEC}" -m pip install --no-cache-dir -r "${UNIRIG_REQS_FILE}" -f ${PYG_WHEEL_INDEX}
echo "Dependency installation complete."
# --- Cleanup ---
echo "Cleaning up downloaded tarball..."
rm /tmp/${BLENDER_TARBALL}
echo "Cleanup complete."
echo "Blender setup finished successfully." |