From e70cf5e048ce2a7db6b240aebb7769e9bfd6ac86 Mon Sep 17 00:00:00 2001 From: Taewoon Kim Date: Thu, 29 Oct 2026 12:12:11 +0900 Subject: [PATCH 1/2] examples: the Docker paths run with uv run --no-project --with, no venv and no uv pip (#136) Examples 07 to 12 built a venv inside each container (python -m venv, activate, uv pip install) before running the example. Each path now bootstraps uv as before and runs `uv run --no-project --with ... --with "" python -u .py ...`. Same packages, extras, wheel and arguments. The python3-venv apt packages are no longer installed. The Milvus runner image (examples 11 and 12) no longer installs numpy, pymilvus and psutil into the system Python with uv pip; the container runs them through uv run instead. Its tag moves from py312-v1 to py312-v2 so a stale local image is rebuilt. Checked: all 31 container command lines parse with sh -n and contain no venv or pip; 07 arcadedb_sql ran end to end in its container on stackoverflow-tiny. Co-Authored-By: Claude Opus 5.5 --- examples/07_stackoverflow_tables_oltp.py | 16 +++--- examples/08_stackoverflow_tables_olap.py | 13 ++--- examples/09_stackoverflow_graph_oltp.py | 20 +++---- examples/10_stackoverflow_graph_olap.py | 20 +++---- examples/11_vector_index_build.py | 68 +++++++++++----------- examples/12_vector_search.py | 73 ++++++++++++------------ 6 files changed, 103 insertions(+), 107 deletions(-) diff --git a/examples/07_stackoverflow_tables_oltp.py b/examples/07_stackoverflow_tables_oltp.py index 24ff90c..011e9b6 100644 --- a/examples/07_stackoverflow_tables_oltp.py +++ b/examples/07_stackoverflow_tables_oltp.py @@ -2167,21 +2167,19 @@ def run_in_docker(args): if args.db == "postgresql": packages.append("psycopg[binary]") - packages_str = " ".join(packages) - inner_cmd_parts = [] python_cmd = "python" if args.db == "postgresql": inner_cmd_parts.append( - "apt-get update && apt-get install -y postgresql python3 python3-venv && rm -rf /var/lib/apt/lists/*" + "apt-get update && apt-get install -y postgresql python3 && rm -rf /var/lib/apt/lists/*" ) python_cmd = "python3" - inner_cmd_parts.append(f"{python_cmd} -m venv /tmp/bench-venv") - inner_cmd_parts.append(". /tmp/bench-venv/bin/activate") inner_cmd_parts.extend(uv_bootstrap_commands(python_cmd)) - inner_cmd_parts.append(f"uv pip install {packages_str}") + uv_run_cmd = "uv run --no-project " + " ".join( + f'--with "{package}"' for package in packages + ) if arcadedb_wheel_mount_path is not None: - inner_cmd_parts.append(f'uv pip install "{arcadedb_wheel_mount_path}"') + uv_run_cmd += f' --with "{arcadedb_wheel_mount_path}"' inner_cmd_parts.append("echo 'Starting benchmark...'") if args.db == "postgresql": db_name = build_benchmark_db_name( @@ -2192,7 +2190,7 @@ def run_in_docker(args): ) inner_cmd_parts.append( "status=0; " - f"{python_cmd} -u 07_stackoverflow_tables_oltp.py {' '.join(filtered_args)} " + f"{uv_run_cmd} python -u 07_stackoverflow_tables_oltp.py {' '.join(filtered_args)} " "|| status=$?; " "chown -R $HOST_UID:$HOST_GID " f"/workspace/examples/my_test_databases/{db_name} || true; " @@ -2200,7 +2198,7 @@ def run_in_docker(args): ) else: inner_cmd_parts.append( - f"{python_cmd} -u 07_stackoverflow_tables_oltp.py {' '.join(filtered_args)}" + f"{uv_run_cmd} python -u 07_stackoverflow_tables_oltp.py {' '.join(filtered_args)}" ) inner_cmd = " && ".join(inner_cmd_parts) diff --git a/examples/08_stackoverflow_tables_olap.py b/examples/08_stackoverflow_tables_olap.py index 93f0ef2..70b4647 100644 --- a/examples/08_stackoverflow_tables_olap.py +++ b/examples/08_stackoverflow_tables_olap.py @@ -1467,24 +1467,23 @@ def run_in_docker(args): packages.append("duckdb") if args.db == "postgresql": packages.append("psycopg[binary]") - packages_str = " ".join(packages) inner_cmd_parts = [] python_cmd = "python" if args.db == "postgresql": inner_cmd_parts.append( - "apt-get update && apt-get install -y postgresql python3 python3-venv && rm -rf /var/lib/apt/lists/*" + "apt-get update && apt-get install -y postgresql python3 && rm -rf /var/lib/apt/lists/*" ) python_cmd = "python3" - inner_cmd_parts.append(f"{python_cmd} -m venv /tmp/bench-venv") - inner_cmd_parts.append(". /tmp/bench-venv/bin/activate") inner_cmd_parts.extend(uv_bootstrap_commands(python_cmd)) - inner_cmd_parts.append(f"uv pip install {packages_str}") + uv_run_cmd = "uv run --no-project " + " ".join( + f'--with "{package}"' for package in packages + ) if arcadedb_wheel_mount_path is not None: - inner_cmd_parts.append(f'uv pip install "{arcadedb_wheel_mount_path}"') + uv_run_cmd += f' --with "{arcadedb_wheel_mount_path}"' inner_cmd_parts.append("echo 'Starting benchmark...'") inner_cmd_parts.append( - f"{python_cmd} -u 08_stackoverflow_tables_olap.py {' '.join(filtered_args)}" + f"{uv_run_cmd} python -u 08_stackoverflow_tables_olap.py {' '.join(filtered_args)}" ) if args.db == "postgresql": db_name = build_benchmark_db_name( diff --git a/examples/09_stackoverflow_graph_oltp.py b/examples/09_stackoverflow_graph_oltp.py index d59ccee..8e9e308 100644 --- a/examples/09_stackoverflow_graph_oltp.py +++ b/examples/09_stackoverflow_graph_oltp.py @@ -9766,12 +9766,12 @@ def run_in_docker(args) -> bool: "apt-get update", "DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends docker-cli", "rm -rf /var/lib/apt/lists/*", - "python -m venv /tmp/bench-venv", - ". /tmp/bench-venv/bin/activate", *uv_bootstrap_commands("python"), - "uv pip install lxml neo4j", "echo 'Starting benchmark...'", - f"python -u 09_stackoverflow_graph_oltp.py {' '.join(filtered_args)}", + ( + "uv run --no-project --with lxml --with neo4j " + f"python -u 09_stackoverflow_graph_oltp.py {' '.join(filtered_args)}" + ), ] if host_uid is not None and host_gid is not None: inner_cmd_parts.insert( @@ -9796,19 +9796,17 @@ def run_in_docker(args) -> bool: if args.db == "duckdb": packages.append("duckdb") - packages_str = " ".join(packages) - inner_cmd_parts = [] python_cmd = "python" - inner_cmd_parts.append(f"{python_cmd} -m venv /tmp/bench-venv") - inner_cmd_parts.append(". /tmp/bench-venv/bin/activate") inner_cmd_parts.extend(uv_bootstrap_commands(python_cmd)) - inner_cmd_parts.append(f"uv pip install {packages_str}") + uv_run_cmd = "uv run --no-project " + " ".join( + f'--with "{package}"' for package in packages + ) if arcadedb_wheel_mount_path is not None: - inner_cmd_parts.append(f'uv pip install "{arcadedb_wheel_mount_path}"') + uv_run_cmd += f' --with "{arcadedb_wheel_mount_path}"' inner_cmd_parts.append("echo 'Starting benchmark...'") inner_cmd_parts.append( - f"{python_cmd} -u 09_stackoverflow_graph_oltp.py {' '.join(filtered_args)}" + f"{uv_run_cmd} python -u 09_stackoverflow_graph_oltp.py {' '.join(filtered_args)}" ) inner_cmd = " && ".join(inner_cmd_parts) diff --git a/examples/10_stackoverflow_graph_olap.py b/examples/10_stackoverflow_graph_olap.py index 99d9341..63204ee 100644 --- a/examples/10_stackoverflow_graph_olap.py +++ b/examples/10_stackoverflow_graph_olap.py @@ -6539,12 +6539,12 @@ def run_in_docker(args) -> bool: "apt-get update", "DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends docker-cli", "rm -rf /var/lib/apt/lists/*", - "python -m venv /tmp/bench-venv", - ". /tmp/bench-venv/bin/activate", *uv_bootstrap_commands("python"), - "uv pip install lxml neo4j", "echo 'Starting benchmark...'", - f"python -u 10_stackoverflow_graph_olap.py {' '.join(filtered_args)}", + ( + "uv run --no-project --with lxml --with neo4j " + f"python -u 10_stackoverflow_graph_olap.py {' '.join(filtered_args)}" + ), ] if host_uid is not None and host_gid is not None: inner_cmd_parts.insert( @@ -6569,19 +6569,17 @@ def run_in_docker(args) -> bool: if args.db == "duckdb": packages.append("duckdb") - packages_str = " ".join(packages) - inner_cmd_parts = [] python_cmd = "python" - inner_cmd_parts.append(f"{python_cmd} -m venv /tmp/bench-venv") - inner_cmd_parts.append(". /tmp/bench-venv/bin/activate") inner_cmd_parts.extend(uv_bootstrap_commands(python_cmd)) - inner_cmd_parts.append(f"uv pip install {packages_str}") + uv_run_cmd = "uv run --no-project " + " ".join( + f'--with "{package}"' for package in packages + ) if arcadedb_wheel_mount_path is not None: - inner_cmd_parts.append(f'uv pip install "{arcadedb_wheel_mount_path}"') + uv_run_cmd += f' --with "{arcadedb_wheel_mount_path}"' inner_cmd_parts.append("echo 'Starting benchmark...'") inner_cmd_parts.append( - f"{python_cmd} -u 10_stackoverflow_graph_olap.py {' '.join(filtered_args)}" + f"{uv_run_cmd} python -u 10_stackoverflow_graph_olap.py {' '.join(filtered_args)}" ) inner_cmd = " && ".join(inner_cmd_parts) diff --git a/examples/11_vector_index_build.py b/examples/11_vector_index_build.py index 6beb006..0626693 100644 --- a/examples/11_vector_index_build.py +++ b/examples/11_vector_index_build.py @@ -73,8 +73,7 @@ docker-compose \\ && rm -rf /var/lib/apt/lists/* -RUN curl -LsSf https://astral.sh/uv/install.sh | env UV_INSTALL_DIR=/usr/local/bin sh \ - && uv pip install --system numpy pymilvus psutil +RUN curl -LsSf https://astral.sh/uv/install.sh | env UV_INSTALL_DIR=/usr/local/bin sh """ @@ -1553,7 +1552,7 @@ def resolve_arcadedb_heap_size( def ensure_milvus_runner_image(docker_bin: str) -> str: - image_tag = "arcadedb-milvus-bench-runner:py312-v1" + image_tag = "arcadedb-milvus-bench-runner:py312-v2" inspect = subprocess.run( [docker_bin, "image", "inspect", image_tag], stdout=subprocess.DEVNULL, @@ -1708,37 +1707,37 @@ def run_in_docker(args) -> bool: if args.backend == "arcadedb_sql": inner_cmd = " && ".join( [ - "python -m venv /tmp/bench-venv", - ". /tmp/bench-venv/bin/activate", *uv_bootstrap_commands("python"), - "uv pip install numpy psutil", - f'uv pip install "{arcadedb_wheel_mount_path}"', "echo 'Starting vector build benchmark...'", - f"python -u 11_vector_index_build.py {' '.join(filtered_args)}", + ( + "uv run --no-project --with numpy --with psutil " + f'--with "{arcadedb_wheel_mount_path}" ' + f"python -u 11_vector_index_build.py {' '.join(filtered_args)}" + ), ] ) run_user_args = ["-u", user_spec] if user_spec is not None else [] elif args.backend == "faiss": inner_cmd = " && ".join( [ - "python -m venv /tmp/bench-venv", - ". /tmp/bench-venv/bin/activate", *uv_bootstrap_commands("python"), - "uv pip install faiss-cpu numpy psutil", "echo 'Starting vector build benchmark...'", - f"python -u 11_vector_index_build.py {' '.join(filtered_args)}", + ( + "uv run --no-project --with faiss-cpu --with numpy --with psutil " + f"python -u 11_vector_index_build.py {' '.join(filtered_args)}" + ), ] ) run_user_args = ["-u", user_spec] if user_spec is not None else [] elif args.backend == "lancedb": inner_cmd = " && ".join( [ - "python -m venv /tmp/bench-venv", - ". /tmp/bench-venv/bin/activate", *uv_bootstrap_commands("python"), - "uv pip install lancedb numpy psutil", "echo 'Starting vector build benchmark...'", - f"python -u 11_vector_index_build.py {' '.join(filtered_args)}", + ( + "uv run --no-project --with lancedb --with numpy --with psutil " + f"python -u 11_vector_index_build.py {' '.join(filtered_args)}" + ), ] ) run_user_args = ["-u", user_spec] if user_spec is not None else [] @@ -1748,12 +1747,12 @@ def run_in_docker(args) -> bool: "apt-get update", "apt-get install -y --no-install-recommends docker.io docker-cli", "rm -rf /var/lib/apt/lists/*", - "python -m venv /tmp/bench-venv", - ". /tmp/bench-venv/bin/activate", *uv_bootstrap_commands("python"), - "uv pip install numpy qdrant-client psutil", "echo 'Starting vector build benchmark...'", - f"python -u 11_vector_index_build.py {' '.join(filtered_args)}", + ( + "uv run --no-project --with numpy --with qdrant-client --with psutil " + f"python -u 11_vector_index_build.py {' '.join(filtered_args)}" + ), ] ) run_user_args = [] @@ -1763,21 +1762,25 @@ def run_in_docker(args) -> bool: inner_cmd = " && ".join( [ "echo 'Starting vector build benchmark...'", - f"python -u 11_vector_index_build.py {' '.join(filtered_args)}", + ( + "uv run --no-project --with numpy --with pymilvus " + "--with psutil " + f"python -u 11_vector_index_build.py {' '.join(filtered_args)}" + ), ] ) else: inner_cmd = " && ".join( [ "apt-get update", - "apt-get install -y --no-install-recommends python3 python3-venv docker.io docker-cli docker-compose", + "apt-get install -y --no-install-recommends python3 docker.io docker-cli docker-compose", "rm -rf /var/lib/apt/lists/*", - "python -m venv /tmp/bench-venv", - ". /tmp/bench-venv/bin/activate", *uv_bootstrap_commands("python"), - "uv pip install numpy pymilvus psutil", "echo 'Starting vector build benchmark...'", - f"python -u 11_vector_index_build.py {' '.join(filtered_args)}", + ( + "uv run --no-project --with numpy --with pymilvus --with psutil " + f"python -u 11_vector_index_build.py {' '.join(filtered_args)}" + ), ] ) run_user_args = [] @@ -1787,21 +1790,18 @@ def run_in_docker(args) -> bool: bench_user = "benchusr" user_inner_cmd = " && ".join( [ - "python3 -m venv /tmp/bench-venv", - ". /tmp/bench-venv/bin/activate", *uv_bootstrap_commands("python"), - "uv pip install numpy psycopg[binary] psutil", "echo 'Starting vector build benchmark...'", - f"python -u 11_vector_index_build.py {' '.join(filtered_args)}", + ( + 'uv run --no-project --with numpy --with "psycopg[binary]" --with psutil ' + f"python -u 11_vector_index_build.py {' '.join(filtered_args)}" + ), ] ) inner_cmd = " && ".join( [ "apt-get update", - ( - "apt-get install -y --no-install-recommends " - "python3 python3-venv gosu" - ), + ("apt-get install -y --no-install-recommends " "python3 gosu"), "rm -rf /var/lib/apt/lists/*", ( f"getent group {os.getgid()} >/dev/null || " diff --git a/examples/12_vector_search.py b/examples/12_vector_search.py index c1f3edb..0bfa1e6 100644 --- a/examples/12_vector_search.py +++ b/examples/12_vector_search.py @@ -78,8 +78,7 @@ docker-compose \\ && rm -rf /var/lib/apt/lists/* -RUN curl -LsSf https://astral.sh/uv/install.sh | env UV_INSTALL_DIR=/usr/local/bin sh \ - && uv pip install --system numpy pymilvus psutil +RUN curl -LsSf https://astral.sh/uv/install.sh | env UV_INSTALL_DIR=/usr/local/bin sh """ @@ -1796,7 +1795,7 @@ def resolve_arcadedb_heap_size( def ensure_milvus_runner_image(docker_bin: str) -> str: - image_tag = "arcadedb-milvus-bench-runner:py312-v1" + image_tag = "arcadedb-milvus-bench-runner:py312-v2" inspect = subprocess.run( [docker_bin, "image", "inspect", image_tag], stdout=subprocess.DEVNULL, @@ -1973,49 +1972,49 @@ def _to_container_path(value: str) -> str: if args.backend == "arcadedb_sql": inner_cmd = " && ".join( [ - "python -m venv /tmp/bench-venv", - ". /tmp/bench-venv/bin/activate", *uv_bootstrap_commands("python"), - "uv pip install numpy psutil", - f'uv pip install "{arcadedb_wheel_mount_path}"', "echo 'Starting vector search benchmark...'", - f"python -u 12_vector_search.py {' '.join(filtered_args)}", + ( + "uv run --no-project --with numpy --with psutil " + f'--with "{arcadedb_wheel_mount_path}" ' + f"python -u 12_vector_search.py {' '.join(filtered_args)}" + ), ] ) run_user_args = ["-u", user_spec] if user_spec is not None else [] elif args.backend == "faiss": inner_cmd = " && ".join( [ - "python -m venv /tmp/bench-venv", - ". /tmp/bench-venv/bin/activate", *uv_bootstrap_commands("python"), - "uv pip install faiss-cpu numpy psutil", "echo 'Starting vector search benchmark...'", - f"python -u 12_vector_search.py {' '.join(filtered_args)}", + ( + "uv run --no-project --with faiss-cpu --with numpy --with psutil " + f"python -u 12_vector_search.py {' '.join(filtered_args)}" + ), ] ) run_user_args = ["-u", user_spec] if user_spec is not None else [] elif args.backend == "lancedb": inner_cmd = " && ".join( [ - "python -m venv /tmp/bench-venv", - ". /tmp/bench-venv/bin/activate", *uv_bootstrap_commands("python"), - "uv pip install lancedb numpy psutil", "echo 'Starting vector search benchmark...'", - f"python -u 12_vector_search.py {' '.join(filtered_args)}", + ( + "uv run --no-project --with lancedb --with numpy --with psutil " + f"python -u 12_vector_search.py {' '.join(filtered_args)}" + ), ] ) run_user_args = ["-u", user_spec] if user_spec is not None else [] elif args.backend == "bruteforce": inner_cmd = " && ".join( [ - "python -m venv /tmp/bench-venv", - ". /tmp/bench-venv/bin/activate", *uv_bootstrap_commands("python"), - "uv pip install numpy psutil", "echo 'Starting vector search benchmark...'", - f"python -u 12_vector_search.py {' '.join(filtered_args)}", + ( + "uv run --no-project --with numpy --with psutil " + f"python -u 12_vector_search.py {' '.join(filtered_args)}" + ), ] ) run_user_args = ["-u", user_spec] if user_spec is not None else [] @@ -2025,12 +2024,12 @@ def _to_container_path(value: str) -> str: "apt-get update", "apt-get install -y --no-install-recommends docker.io docker-cli", "rm -rf /var/lib/apt/lists/*", - "python -m venv /tmp/bench-venv", - ". /tmp/bench-venv/bin/activate", *uv_bootstrap_commands("python"), - "uv pip install numpy qdrant-client psutil", "echo 'Starting vector search benchmark...'", - f"python -u 12_vector_search.py {' '.join(filtered_args)}", + ( + "uv run --no-project --with numpy --with qdrant-client --with psutil " + f"python -u 12_vector_search.py {' '.join(filtered_args)}" + ), ] ) run_user_args = [] @@ -2040,21 +2039,25 @@ def _to_container_path(value: str) -> str: inner_cmd = " && ".join( [ "echo 'Starting vector search benchmark...'", - f"python -u 12_vector_search.py {' '.join(filtered_args)}", + ( + "uv run --no-project --with numpy --with pymilvus " + "--with psutil " + f"python -u 12_vector_search.py {' '.join(filtered_args)}" + ), ] ) else: inner_cmd = " && ".join( [ "apt-get update", - "apt-get install -y --no-install-recommends python3 python3-venv docker.io docker-cli docker-compose", + "apt-get install -y --no-install-recommends python3 docker.io docker-cli docker-compose", "rm -rf /var/lib/apt/lists/*", - "python -m venv /tmp/bench-venv", - ". /tmp/bench-venv/bin/activate", *uv_bootstrap_commands("python"), - "uv pip install numpy pymilvus psutil", "echo 'Starting vector search benchmark...'", - f"python -u 12_vector_search.py {' '.join(filtered_args)}", + ( + "uv run --no-project --with numpy --with pymilvus --with psutil " + f"python -u 12_vector_search.py {' '.join(filtered_args)}" + ), ] ) run_user_args = [] @@ -2063,18 +2066,18 @@ def _to_container_path(value: str) -> str: return False user_inner_cmd = " && ".join( [ - "python3 -m venv /tmp/bench-venv", - ". /tmp/bench-venv/bin/activate", *uv_bootstrap_commands("python"), - "uv pip install numpy psycopg[binary] psutil", "echo 'Starting vector search benchmark...'", - f"python -u 12_vector_search.py {' '.join(filtered_args)}", + ( + 'uv run --no-project --with numpy --with "psycopg[binary]" --with psutil ' + f"python -u 12_vector_search.py {' '.join(filtered_args)}" + ), ] ) inner_cmd = " && ".join( [ "apt-get update", - "apt-get install -y --no-install-recommends python3 python3-venv gosu", + "apt-get install -y --no-install-recommends python3 gosu", "rm -rf /var/lib/apt/lists/*", f"getent group {os.getgid()} >/dev/null || echo 'benchgrp:x:{os.getgid()}:' >> /etc/group", f"getent passwd {os.getuid()} >/dev/null || echo 'benchusr:x:{os.getuid()}:{os.getgid()}::/tmp:/bin/sh' >> /etc/passwd", From 19e9bc530f8307ba2a1f556f38ee61be09addffc Mon Sep 17 00:00:00 2001 From: Taewoon Kim Date: Thu, 29 Oct 2026 12:31:14 +0900 Subject: [PATCH 2/2] examples: the apt-python3 container paths bootstrap uv with python3 and install ca-certificates (#136) The pgvector path (Postgres image) and the Milvus custom-image path get python3 from apt; without the old venv there is no `python` on PATH ("python: not found"), and dropping python3-venv also dropped ca-certificates (pulled in through python3-pip-whl), so the uv download failed TLS verification. Found by the smoke run of every container path; 11 and 12 pgvector now pass. Co-Authored-By: Claude Opus 5.5 --- examples/11_vector_index_build.py | 11 +++++++---- examples/12_vector_search.py | 8 ++++---- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/examples/11_vector_index_build.py b/examples/11_vector_index_build.py index 0626693..571a169 100644 --- a/examples/11_vector_index_build.py +++ b/examples/11_vector_index_build.py @@ -1773,9 +1773,9 @@ def run_in_docker(args) -> bool: inner_cmd = " && ".join( [ "apt-get update", - "apt-get install -y --no-install-recommends python3 docker.io docker-cli docker-compose", + "apt-get install -y --no-install-recommends python3 ca-certificates docker.io docker-cli docker-compose", "rm -rf /var/lib/apt/lists/*", - *uv_bootstrap_commands("python"), + *uv_bootstrap_commands("python3"), "echo 'Starting vector build benchmark...'", ( "uv run --no-project --with numpy --with pymilvus --with psutil " @@ -1790,7 +1790,7 @@ def run_in_docker(args) -> bool: bench_user = "benchusr" user_inner_cmd = " && ".join( [ - *uv_bootstrap_commands("python"), + *uv_bootstrap_commands("python3"), "echo 'Starting vector build benchmark...'", ( 'uv run --no-project --with numpy --with "psycopg[binary]" --with psutil ' @@ -1801,7 +1801,10 @@ def run_in_docker(args) -> bool: inner_cmd = " && ".join( [ "apt-get update", - ("apt-get install -y --no-install-recommends " "python3 gosu"), + ( + "apt-get install -y --no-install-recommends " + "python3 ca-certificates gosu" + ), "rm -rf /var/lib/apt/lists/*", ( f"getent group {os.getgid()} >/dev/null || " diff --git a/examples/12_vector_search.py b/examples/12_vector_search.py index 0bfa1e6..a31aa01 100644 --- a/examples/12_vector_search.py +++ b/examples/12_vector_search.py @@ -2050,9 +2050,9 @@ def _to_container_path(value: str) -> str: inner_cmd = " && ".join( [ "apt-get update", - "apt-get install -y --no-install-recommends python3 docker.io docker-cli docker-compose", + "apt-get install -y --no-install-recommends python3 ca-certificates docker.io docker-cli docker-compose", "rm -rf /var/lib/apt/lists/*", - *uv_bootstrap_commands("python"), + *uv_bootstrap_commands("python3"), "echo 'Starting vector search benchmark...'", ( "uv run --no-project --with numpy --with pymilvus --with psutil " @@ -2066,7 +2066,7 @@ def _to_container_path(value: str) -> str: return False user_inner_cmd = " && ".join( [ - *uv_bootstrap_commands("python"), + *uv_bootstrap_commands("python3"), "echo 'Starting vector search benchmark...'", ( 'uv run --no-project --with numpy --with "psycopg[binary]" --with psutil ' @@ -2077,7 +2077,7 @@ def _to_container_path(value: str) -> str: inner_cmd = " && ".join( [ "apt-get update", - "apt-get install -y --no-install-recommends python3 gosu", + "apt-get install -y --no-install-recommends python3 ca-certificates gosu", "rm -rf /var/lib/apt/lists/*", f"getent group {os.getgid()} >/dev/null || echo 'benchgrp:x:{os.getgid()}:' >> /etc/group", f"getent passwd {os.getuid()} >/dev/null || echo 'benchusr:x:{os.getuid()}:{os.getgid()}::/tmp:/bin/sh' >> /etc/passwd",