From 7558678b8cfc012766d70b38e5d9890937d14598 Mon Sep 17 00:00:00 2001 From: Yuan Tang Date: Mon, 3 Feb 2025 09:39:35 -0500 Subject: [PATCH] Fix uv pip install timeout issue for PyTorch (#929) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This fixes the following timeout issue when installing PyTorch via uv. Also see reference: https://github.com/astral-sh/uv/pull/1694, https://github.com/astral-sh/uv/issues/1549 ``` Installing pip dependencies Using Python 3.10.16 environment at: /home/yutang/.conda/envs/distribution-myenv × Failed to download and build `antlr4-python3-runtime==4.9.3` ├─▶ Failed to extract archive ├─▶ failed to unpack │ `/home/yutang/.cache/uv/sdists-v7/.tmpDWX4iK/antlr4-python3-runtime-4.9.3/src/antlr4/ListTokenSource.py` ├─▶ failed to unpack │ `antlr4-python3-runtime-4.9.3/src/antlr4/ListTokenSource.py` into │ `/home/yutang/.cache/uv/sdists-v7/.tmpDWX4iK/antlr4-python3-runtime-4.9.3/src/antlr4/ListTokenSource.py` ├─▶ error decoding response body ├─▶ request or response body error ╰─▶ operation timed out help: `antlr4-python3-runtime` (v4.9.3) was included because `torchtune` (v0.5.0) depends on `omegaconf` (v2.3.0) which depends on `antlr4-python3-runtime>=4.9.dev0, <4.10.dev0` Failed to build target distribution-myenv with return code 1 ``` --------- Signed-off-by: Yuan Tang --- llama_stack/distribution/build_conda_env.sh | 3 +++ llama_stack/distribution/build_container.sh | 3 +++ llama_stack/distribution/build_venv.sh | 3 +++ 3 files changed, 9 insertions(+) diff --git a/llama_stack/distribution/build_conda_env.sh b/llama_stack/distribution/build_conda_env.sh index 3fea09ad5..ff9c26e5e 100755 --- a/llama_stack/distribution/build_conda_env.sh +++ b/llama_stack/distribution/build_conda_env.sh @@ -9,6 +9,9 @@ LLAMA_MODELS_DIR=${LLAMA_MODELS_DIR:-} LLAMA_STACK_DIR=${LLAMA_STACK_DIR:-} TEST_PYPI_VERSION=${TEST_PYPI_VERSION:-} +# This timeout (in seconds) is necessary when installing PyTorch via uv since it's likely to time out +# Reference: https://github.com/astral-sh/uv/pull/1694 +UV_HTTP_TIMEOUT=${UV_HTTP_TIMEOUT:-500} if [ -n "$LLAMA_STACK_DIR" ]; then echo "Using llama-stack-dir=$LLAMA_STACK_DIR" diff --git a/llama_stack/distribution/build_container.sh b/llama_stack/distribution/build_container.sh index 8cad13eec..4101cec44 100755 --- a/llama_stack/distribution/build_container.sh +++ b/llama_stack/distribution/build_container.sh @@ -11,6 +11,9 @@ LLAMA_STACK_DIR=${LLAMA_STACK_DIR:-} TEST_PYPI_VERSION=${TEST_PYPI_VERSION:-} PYPI_VERSION=${PYPI_VERSION:-} BUILD_PLATFORM=${BUILD_PLATFORM:-} +# This timeout (in seconds) is necessary when installing PyTorch via uv since it's likely to time out +# Reference: https://github.com/astral-sh/uv/pull/1694 +UV_HTTP_TIMEOUT=${UV_HTTP_TIMEOUT:-500} # mounting is not supported by docker buildx, so we use COPY instead USE_COPY_NOT_MOUNT=${USE_COPY_NOT_MOUNT:-} diff --git a/llama_stack/distribution/build_venv.sh b/llama_stack/distribution/build_venv.sh index 970c4144f..3166c07f6 100755 --- a/llama_stack/distribution/build_venv.sh +++ b/llama_stack/distribution/build_venv.sh @@ -12,6 +12,9 @@ LLAMA_MODELS_DIR=${LLAMA_MODELS_DIR:-} LLAMA_STACK_DIR=${LLAMA_STACK_DIR:-} TEST_PYPI_VERSION=${TEST_PYPI_VERSION:-} +# This timeout (in seconds) is necessary when installing PyTorch via uv since it's likely to time out +# Reference: https://github.com/astral-sh/uv/pull/1694 +UV_HTTP_TIMEOUT=${UV_HTTP_TIMEOUT:-500} if [ -n "$LLAMA_STACK_DIR" ]; then echo "Using llama-stack-dir=$LLAMA_STACK_DIR"