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)"