mirror of
https://git.datalinker.icu/vllm-project/vllm.git
synced 2025-12-09 20:34:58 +08:00
[TPU] patch TPU wheel build script to resolve metadata issue (#27279)
Signed-off-by: Johnny Yang <johnnyyang@google.com>
This commit is contained in:
parent
327c0a9a23
commit
fdfd5075aa
4
setup.py
4
setup.py
@ -545,7 +545,9 @@ def get_vllm_version() -> str:
|
|||||||
# Allow overriding the version. This is useful to build platform-specific
|
# Allow overriding the version. This is useful to build platform-specific
|
||||||
# wheels (e.g. CPU, TPU) without modifying the source.
|
# wheels (e.g. CPU, TPU) without modifying the source.
|
||||||
if env_version := os.getenv("VLLM_VERSION_OVERRIDE"):
|
if env_version := os.getenv("VLLM_VERSION_OVERRIDE"):
|
||||||
return env_version
|
print(f"Overriding VLLM version with {env_version} from VLLM_VERSION_OVERRIDE")
|
||||||
|
os.environ["SETUPTOOLS_SCM_PRETEND_VERSION"] = env_version
|
||||||
|
return get_version(write_to="vllm/_version.py")
|
||||||
|
|
||||||
version = get_version(write_to="vllm/_version.py")
|
version = get_version(write_to="vllm/_version.py")
|
||||||
sep = "+" if "+" not in version else "." # dev versions might contain +
|
sep = "+" if "+" not in version else "." # dev versions might contain +
|
||||||
|
|||||||
@ -7,6 +7,13 @@ TOOLS_DIR=$(cd "$(dirname "$SCRIPT_PATH_PARAM")" && pwd) # Absolute path to the
|
|||||||
REPO_ROOT=$(cd "$TOOLS_DIR/../../" && pwd) # Absolute path to the repo root
|
REPO_ROOT=$(cd "$TOOLS_DIR/../../" && pwd) # Absolute path to the repo root
|
||||||
VLLM_DIR="$REPO_ROOT/" # Path to the vllm sources
|
VLLM_DIR="$REPO_ROOT/" # Path to the vllm sources
|
||||||
|
|
||||||
|
CHANGE_FILE_LIST=(
|
||||||
|
"vllm/entrypoints/cli/main.py"
|
||||||
|
"vllm/entrypoints/cli/run_batch.py"
|
||||||
|
"vllm/utils/__init__.py"
|
||||||
|
"vllm/platforms/__init__.py"
|
||||||
|
)
|
||||||
|
|
||||||
# Ensure we are not running from within the vllm directory if SCRIPT_PATH_PARAM is relative like "."
|
# Ensure we are not running from within the vllm directory if SCRIPT_PATH_PARAM is relative like "."
|
||||||
if [ "$TOOLS_DIR" = "$VLLM_DIR" ]; then
|
if [ "$TOOLS_DIR" = "$VLLM_DIR" ]; then
|
||||||
echo "Error: This script should not be run from the vllm directory directly if using relative paths."
|
echo "Error: This script should not be run from the vllm directory directly if using relative paths."
|
||||||
@ -30,6 +37,20 @@ if ! grep -q "name = \"vllm-tpu\"" "$PYPROJECT_FILE"; then
|
|||||||
echo "Patching pyproject.toml project name to vllm-tpu..."
|
echo "Patching pyproject.toml project name to vllm-tpu..."
|
||||||
cp "$PYPROJECT_FILE" "${PYPROJECT_FILE}.bak"
|
cp "$PYPROJECT_FILE" "${PYPROJECT_FILE}.bak"
|
||||||
sed -i '0,/^name = "vllm"/s//name = "vllm-tpu"/' "$PYPROJECT_FILE"
|
sed -i '0,/^name = "vllm"/s//name = "vllm-tpu"/' "$PYPROJECT_FILE"
|
||||||
|
|
||||||
|
echo "Patching ${CHANGE_FILE_LIST[@]} vllm to vllm-tpu..."
|
||||||
|
# patching
|
||||||
|
# importlib.metadata.version('vllm') -> importlib.metadata.version('vllm-tpu')
|
||||||
|
# importlib.metadata.version("vllm") -> importlib.metadata.version("vllm-tpu")
|
||||||
|
# importlib.metadata.metadata('vllm') -> importlib.metadata.metadata('vllm-tpu')
|
||||||
|
# importlib.metadata.metadata("vllm") -> importlib.metadata.metadata("vllm-tpu")
|
||||||
|
# version('vllm') -> version('vllm-tpu')
|
||||||
|
# version("vllm") -> version("vllm-tpu")
|
||||||
|
sed -i \
|
||||||
|
-e "s/importlib.metadata.version(\(['\"]\)vllm\1)/importlib.metadata.version(\1vllm-tpu\1)/" \
|
||||||
|
-e "s/importlib.metadata.metadata(\(['\"]\)vllm\1)/importlib.metadata.metadata(\1vllm-tpu\1)/" \
|
||||||
|
-e "s/version(\(['\"]\)vllm\1)/version(\1vllm-tpu\1)/" \
|
||||||
|
"${CHANGE_FILE_LIST[@]}"
|
||||||
PATCHED=true
|
PATCHED=true
|
||||||
else
|
else
|
||||||
PATCHED=false
|
PATCHED=false
|
||||||
@ -45,6 +66,13 @@ cleanup() {
|
|||||||
echo "Restoring original pyproject.toml..."
|
echo "Restoring original pyproject.toml..."
|
||||||
cp "${PYPROJECT_FILE}.bak" "$PYPROJECT_FILE"
|
cp "${PYPROJECT_FILE}.bak" "$PYPROJECT_FILE"
|
||||||
rm -f "${PYPROJECT_FILE}.bak"
|
rm -f "${PYPROJECT_FILE}.bak"
|
||||||
|
|
||||||
|
echo "Restoring vllm code..."
|
||||||
|
sed -i \
|
||||||
|
-e "s/importlib.metadata.version(\(['\"]\)vllm-tpu\1)/importlib.metadata.version(\1vllm\1)/" \
|
||||||
|
-e "s/importlib.metadata.metadata(\(['\"]\)vllm-tpu\1)/importlib.metadata.metadata(\1vllm\1)/" \
|
||||||
|
-e "s/version(\(['\"]\)vllm-tpu\1)/version(\1vllm\1)/" \
|
||||||
|
"${CHANGE_FILE_LIST[@]}"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
trap cleanup EXIT HUP INT QUIT PIPE TERM # Register cleanup function to run on script exit and various signals
|
trap cleanup EXIT HUP INT QUIT PIPE TERM # Register cleanup function to run on script exit and various signals
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user