Zvec Logo

Python SDK / Bindings

本指南介绍如何从源码安装 Python SDK。

前置要求

开始之前,请确保你的环境满足以下要求:

  • Python:3.9 或更高版本
  • 编译器:支持 C++17 的编译器
  • 平台
    • Linux(x86_64/ARM64)
    • macOS(x86_64/ARM64)
    • Windows(x86_64)— 注意:目前仅在 MSVC 2022(Visual Studio 17.0+)上测试通过
  • Git:用于克隆包含子模块的仓库
  • scikit-build(作为构建依赖会自动安装,但在某些环境中可能需要手动配置)

从源码安装

# 克隆仓库
git clone --recurse-submodules https://github.com/alibaba/zvec.git
cd zvec

# 从源码安装
pip install .

仓库使用了 Git submodules,克隆过程可能需要几分钟,具体取决于网络状况。

如果你的构建环境位于中国内地,可以启用 OSS 镜像来加速第三方依赖下载(如 Arrow 所需的资源):

USE_OSS_MIRROR=ON pip install .

(可选)构建配置

构建目录

如果在构建过程中遇到问题,可以尝试为 scikit-build 设置自定义构建目录。这有助于避免缓存不一致,也便于查看详细的构建日志:

export SKBUILD_BUILD_DIR=/tmp/build  # 或其他目录

pip install .

构建完成后,你可以检查 /tmp/build(或你指定的目录)中的内容,查看编译器输出并诊断错误。

构建系统

默认情况下,scikit-build 使用 Ninja 作为构建系统,会自动使用所有可用 CPU 核心进行编译。如需改用 Unix Makefiles,请设置:

export CMAKE_GENERATOR="Unix Makefiles"

pip install .
  • 使用 Make 时,需要手动配置并行编译以加快构建速度:

    # 方式一:通过环境变量设置并行级别
    export CMAKE_BUILD_PARALLEL_LEVEL=32
    export CMAKE_GENERATOR="Unix Makefiles"
    pip install .
    
    # 方式二:通过配置参数传递并行标志
    export CMAKE_GENERATOR="Unix Makefiles"
    pip install . --config-settings=build.tool-args="-j$(nproc)"

目录